diff options
Diffstat (limited to 'dist/commands/minecraft/minecraftserverstatus.js')
| -rw-r--r-- | dist/commands/minecraft/minecraftserverstatus.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/dist/commands/minecraft/minecraftserverstatus.js b/dist/commands/minecraft/minecraftserverstatus.js new file mode 100644 index 0000000..33f8fca --- /dev/null +++ b/dist/commands/minecraft/minecraftserverstatus.js @@ -0,0 +1,87 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const discord_js_commando_1 = require("discord.js-commando"); +const discord_js_1 = require("discord.js"); +const axios_1 = __importDefault(require("axios")); +const emoji_random_1 = __importDefault(require("emoji-random")); +module.exports = class MinecraftServerMinecraft extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'minecraftserverstatus', + aliases: [ + 'mcserverstatus', + 'minecraft-server-status', + 'mcss' + ], + group: 'utility', + memberName: 'minecraftserverstatus', + description: 'Grabs you the server status of a Minecraft server.', + examples: [ + 'uwu!minecraftserverstatus', + 'uwu!mcss' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'ip', + prompt: 'What is the IP of the server?', + type: 'string' + }, + { + key: 'port', + prompt: 'What is the port of the server?', + type: 'integer', + default: '25565', + max: 65535, + min: 1 + } + ] + }); + } + run(msg, { ip, port }) { + return __awaiter(this, void 0, void 0, function* () { + const res = (yield axios_1.default(`https://mcapi.us/server/status?ip=${ip}&port=${port}`).catch(err => { + console.error(err); + return msg.reply('Woops, an error has occured. ' + emoji_random_1.default.random()); + })).data; + if (res.status !== 'success') { + return msg.reply('Woops, there was an error with your request. ' + emoji_random_1.default.random()); + } + let emb = new discord_js_1.MessageEmbed() + .setTitle(ip) + .setTimestamp(res.last_updated) + .setColor(0xFFCC4D); + if (res.online) { + emb.addField('Server Status', 'Currentaly online.', true); + emb.addField('Version', res.server.name, true); + emb.addField('Members', `${res.players.now}/${res.players.max}`, true); + emb.addField('MOTD', `\`\`\`${res.motd}\`\`\``, true); + } + else if (res.last_online) { + emb.addField('Server Status', `Offline. Last seen ${new Date(res.last_online)}`, true); + } + else { + emb.addField('Server Status', 'Offline. Never seen online before.', true); + } + return msg.reply(emb); + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluZWNyYWZ0c2VydmVyc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL21pbmVjcmFmdC9taW5lY3JhZnRzZXJ2ZXJzdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFDL0QsMkNBQTBDO0FBQzFDLGtEQUF5QjtBQUN6QixnRUFBZ0M7QUFFaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLHdCQUF5QixTQUFRLDZCQUFPO0lBQzNELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLE9BQU8sRUFBRTtnQkFDTCxnQkFBZ0I7Z0JBQ2hCLHlCQUF5QjtnQkFDekIsTUFBTTthQUNUO1lBQ0QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLHVCQUF1QjtZQUNuQyxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLFFBQVEsRUFBRTtnQkFDTiwyQkFBMkI7Z0JBQzNCLFVBQVU7YUFDYjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUM1RCxVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsSUFBSTtvQkFDVCxNQUFNLEVBQUUsK0JBQStCO29CQUN2QyxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0Q7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLGlDQUFpQztvQkFDekMsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxDQUFDO2lCQUNUO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFOztZQUN4QyxNQUFNLEdBQUcsR0FBRyxDQUNSLE1BQU0sZUFBSyxDQUFDLHFDQUFxQyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2xCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDdEUsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxJQUFJLENBQUE7WUFFTixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUMxQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0NBQStDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO2FBQ3JGO1lBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSx5QkFBWSxFQUFFO2lCQUN2QixRQUFRLENBQUMsRUFBRSxDQUFDO2lCQUNaLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO2lCQUM5QixRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7WUFFdkIsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNaLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUN6RCxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDOUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUN0RSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsQ0FBQyxJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUN4RDtpQkFBTSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLHNCQUFzQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUN6RjtpQkFBTTtnQkFDSCxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQTthQUM1RTtZQUNELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QixDQUFDO0tBQUE7Q0FDSixDQUFDIn0=
\ No newline at end of file |