summaryrefslogtreecommitdiff
path: root/dist/commands/minecraft/minecraftserverstatus.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/minecraft/minecraftserverstatus.js')
-rw-r--r--dist/commands/minecraft/minecraftserverstatus.js87
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