61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
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'
|
|
}).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;
|