Advertisement
Guest User

Discord minecraft bot

a guest
Dec 28th, 2019
8,061
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. client.login('your token here');
  4.  
  5. var request = require('request');
  6. var mcCommand = '/u'; // Command for updating the bot
  7. var mcIP = 'your server ip here'; // Your MC server IP or hostname address
  8. var mcPort = 25565; // Your MC server port (25565 is the default)
  9. var minutes = 5; //This is how often (in minutes) you want the bot to update itself
  10. var refreshTime = minutes * 60 * 1000;
  11.  
  12. function playerCheck() {
  13.         var url = 'http://api.mcsrvstat.us/2/' + mcIP;
  14.         request(url, function(err, response, body) {
  15.             if(err) {
  16.                 console.log(err);
  17.                 return message.reply('Error getting Minecraft server status...');
  18.             }
  19.             body = JSON.parse(body);
  20.     client.user.setStatus('dnd', 'g');
  21.             var status = 'are not :(';
  22.             if(body.online) {
  23.                 status = '';
  24.         client.user.setStatus('online', 'g');
  25.                 if(body.players.list) {
  26.                     status += '- ' + body.players.online + ' people';
  27.                 } else {
  28.                     status += 'Nobody is playing!';
  29.                 }
  30.           }
  31.             client.user.setActivity(status);
  32.         });
  33.  };
  34.  
  35. client.on('ready', () => {
  36.     playerCheck(); //Initial player check
  37.     console.log("Discord bot is online!");
  38.     setInterval(() => {
  39.         playerCheck();  //Routine check based on refreshTime
  40.     }, refreshTime);   //How often the server refreshes
  41. });
  42.  
  43. client.on('message', message => {
  44.     if (message.content === mcCommand) {
  45.     playerCheck()
  46.     }
  47. });
  48.  
  49. client.on('message', message => {
  50.     if (message.content === '/ip') {
  51.     message.reply(mcIP);
  52.     }
  53. });
  54.  
  55. client.on('message', message => {
  56.     if (message.content === '/p') {
  57.         var url = 'http://api.mcsrvstat.us/2/' + mcIP;
  58.         request(url, function(err, response, body) {
  59.             if(err) {
  60.                 console.log(err);
  61.                 return message.reply('Error getting Minecraft server status...');
  62.             }
  63.             body = JSON.parse(body);
  64.             if (body.online) {
  65.                 if (body.players.list) {
  66.                     if (body.players.list > 1) {
  67.                         var players = 'People playing right now are: ' + body.players.list.slice(0, arr.length - 1).join(', ') + " and " + arr.slice(-1);
  68.                     }else {
  69.                         var players = body.players.list[0] + ' is playing all alone right now :('
  70.                     }
  71.                 }else {
  72.                     var players = "No one's playing right now :("
  73.                 }
  74.             }else {
  75.                 var players = 'Server is offline right now :/'
  76.             }
  77.             message.reply(players)
  78.         })
  79.     }
  80. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement