dank-bot-js/bot-modules/gameserver/module.js

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;