Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. //credit to vegeta897 for the request URL part from his 'Simple Minecraft server status bot'
  2. const Discord = require("discord.js");
  3. const client = new Discord.Client();
  4. const settings = require('./config.json');
  5. var statustring = "No signal";
  6.  
  7. var request = require('request');
  8. var mcCommand = '/minecraft'; // Command for triggering
  9. var mcIP = settings.ip; // Your MC server IP
  10. var mcPort = settings.port; // Your MC server port
  11.  
  12. var url = 'http://mcapi.us/server/status?ip=' + mcIP + '&port=' + mcPort;
  13.  
  14.  
  15. function update() {
  16. /*seconds = seconds + 1;
  17. secondsString = seconds.toString();
  18. client.user.setActivity(secondsString, { type: 'Playing' })
  19. .then(presence => console.log(`Activity set to ${presence.game ? presence.game.name : 'none'}`))
  20. .catch(console.error);*/
  21. request(url, function(err, response, body) {
  22. if(err) {
  23. console.log(err);
  24. //return message.reply('Error getting Minecraft server status...');
  25. }
  26. body = JSON.parse(body);
  27. var status = 'Server offline';
  28. console.log(body.motd);
  29. if(body.online) {
  30. if((body.motd=="&cWe are under maintenance.")||(body.players.now>=body.players.max)){
  31. client.user.setStatus('idle')
  32. //.then(console.log)
  33. .catch(console.error);
  34. }else{
  35. client.user.setStatus('online')
  36. //.then(console.log)
  37. .catch(console.error);
  38. }
  39. if(body.players.now) {
  40. status = 'Server ' + body.players.now + '/' + body.players.max + ' online';
  41. } else {
  42. status = '0/' + body.players.max + ' online';
  43. }
  44. } else {
  45. client.user.setStatus('dnd')
  46. //.then(console.log)
  47. .catch(console.error);
  48.  
  49. }
  50. client.user.setActivity(status, { type: 'PLAYING' })
  51. .then(presence => console.log(status))
  52. .catch(console.error);
  53. });
  54.  
  55. }
  56. client.on("ready", () => {
  57. console.log("I am online!");
  58. client.setInterval(update,30000);
  59. });
  60.  
  61. /*client.on("message", (message) => {
  62. if (message.content.startsWith("ping")) {
  63. message.channel.send("pong!");
  64. update();
  65.  
  66. }
  67. }
  68. );*/
  69.  
  70. client.login(settings.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement