const Discord = require("discord.js"); const Gamedig = require('gamedig'); const fs = require('fs'); class GameServer { constructor() { this.matches = [ "gm", "mc" ]; } async action(msg) { if(msg.content.startsWith('!mc')) { Gamedig.query({ type: 'minecraftping', // host: 'americastrong.jumpingcrab.com' host: '192.168.1.201', port: 35432 }).then((state) => { let str = "MINECRAFT SERVER INFO\n"; console.log(state); str += "Server Name: " + state.raw.description + "\n"; str += "Players: " + state.players.length + "/" + state.maxplayers + "\n"; str += "Currently Online: " for (let i = 0; i < state.players.length; i++) { str += state.players[i].name + ", "; } str = str.slice(0, -2); str += "\n"; msg.reply(str); }).catch((error) => { msg.reply("Server is offline!"); }); } else if(msg.content.startsWith('!gm')) { try { let gameinfo = await Gamedig.query({type: 'garrysmod', host: 'construct420.game.nfoservers.com'}); let str = "GARRY'S MOD SERVER INFO\n"; str += "Server name: " + gameinfo.name + "\n"; str += "Current Map: " + gameinfo.map + "\n"; str += "Players: " + gameinfo.players.length + "/" + gameinfo.maxplayers + "\n"; str += "Currently Online: " for (let i = 0; i < gameinfo.players.length; i++) { str += gameinfo.players[i].name + ", "; } str = str.slice(0, -2); str += "\n"; str += "Server IP: 192.223.30.22\n" msg.reply(str); } catch (err) { console.log(err); msg.reply("Server is offline!"); } } } } module.exports = GameServer;