diff options
| author | 8cy <[email protected]> | 2020-04-29 04:36:14 -0700 |
|---|---|---|
| committer | 8cy <[email protected]> | 2020-04-29 04:36:14 -0700 |
| commit | 68d32ab1fa9c79e848038ca1c451e7d8f368531b (patch) | |
| tree | 6142669ecc054e8a94bad4723dc6fb5c83f8cee1 /dist/commands/utility | |
| parent | The Return, v8.2.0 (diff) | |
| download | dep-core-68d32ab1fa9c79e848038ca1c451e7d8f368531b.tar.xz dep-core-68d32ab1fa9c79e848038ca1c451e7d8f368531b.zip | |
Cerasus, v9.0.0
basically just add an insane amount of things
- all new animal commands
- waifu cmds
- change/ move clientid, invite, uwufy, support, howify, say, pfp
- add ip, security key, vote, datefacts, githubzen, fmk, fml, offsptring, facts, rate, opinion, onion, quantum coin, rolldie, romannumerals, russianrullete, smashorpass, spoiler, sub
- minecraft cmds
- SERVER check cmds
- lewd cmds
- roleplay commands
- fun commands and games
- utils
Diffstat (limited to 'dist/commands/utility')
| -rw-r--r-- | dist/commands/utility/average.js | 57 | ||||
| -rw-r--r-- | dist/commands/utility/csgoserverstatus.js | 90 | ||||
| -rw-r--r-- | dist/commands/utility/fortnitestats.js | 106 | ||||
| -rw-r--r-- | dist/commands/utility/gmodserverstatus.js | 89 | ||||
| -rw-r--r-- | dist/commands/utility/iss.js | 48 | ||||
| -rw-r--r-- | dist/commands/utility/rustserverstatus.js | 87 | ||||
| -rw-r--r-- | dist/commands/utility/starboundserverstatus.js | 105 |
7 files changed, 582 insertions, 0 deletions
diff --git a/dist/commands/utility/average.js b/dist/commands/utility/average.js new file mode 100644 index 0000000..afc265a --- /dev/null +++ b/dist/commands/utility/average.js @@ -0,0 +1,57 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +module.exports = class AverageUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'average', + aliases: [ + 'average-number', + 'averagenumber', + 'average-num', + 'averagenum' + ], + group: 'utility', + memberName: 'average', + description: 'Gets the average of specified numbers.', + examples: ['uwu!average 10 20 30 40 50'], + throttling: { + usages: 5, + duration: 30 + }, + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + args: [ + { + key: 'nNum', + prompt: 'What\'s another number you would like to average?', + type: 'float', + label: 'number', + infinite: true + } + ] + }); + } + run(msg, { nNum }) { + return __awaiter(this, void 0, void 0, function* () { + if (nNum.length < 2) + msg.reply('Please provide **2** or more numbers.'); + const reducer = (accumulator, currentValue) => accumulator + currentValue; + msg.reply(`The average of the specified numbers is ${nNum.reduce(reducer) / nNum.length}.` + ' ' + emoji_random_1.default.random()); + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZlcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy91dGlsaXR5L2F2ZXJhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFDL0QsZ0VBQWdDO0FBSWhDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxjQUFlLFNBQVEsNkJBQU87SUFDakQsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFO2dCQUNMLGdCQUFnQjtnQkFDaEIsZUFBZTtnQkFDZixhQUFhO2dCQUNiLFlBQVk7YUFDZjtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsUUFBUSxFQUFFLENBQUMsNEJBQTRCLENBQUM7WUFDeEMsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsSUFBSSxFQUFFO2dCQUNGO29CQUNJLEdBQUcsRUFBRSxNQUFNO29CQUNYLE1BQU0sRUFBRSxtREFBbUQ7b0JBQzNELElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxRQUFRO29CQUNmLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNLLEdBQUcsQ0FBQyxHQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFOztZQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUE7WUFFdkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFBO1lBQ3pFLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkNBQTJDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDdEgsQ0FBQztLQUFBO0NBQ0osQ0FBQyJ9
\ No newline at end of file diff --git a/dist/commands/utility/csgoserverstatus.js b/dist/commands/utility/csgoserverstatus.js new file mode 100644 index 0000000..93ef2b1 --- /dev/null +++ b/dist/commands/utility/csgoserverstatus.js @@ -0,0 +1,90 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +const gamedig_1 = __importDefault(require("gamedig")); +const gameDigHelper_js_1 = __importDefault(require("../../utils/gameDigHelper.js")); +module.exports = class CSGOServerStatusUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'csgoserverstatus', + aliases: [ + 'counterstrikeserverstatus', + 'counter-strike-server-status', + 'counterstrikeglobaloffensiveserverstatus', + 'counter-strike-global-offensive-server-status', + 'csgoss' + ], + group: 'utility', + memberName: 'csgoserverstatus', + description: 'Grabs you the server status of a CS:GO server.', + examples: [ + 'uwu!csgoserverstatus', + 'uwu!csgoss' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'host', + prompt: 'What is the IP or host of the server?', + type: 'string' + }, + { + key: 'port', + prompt: 'What is the port of the server?', + type: 'integer', + default: '27015', + max: 65535, + min: 1 + } + ] + }); + } + run(msg, { host, port }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const options = { + host, + type: 'csgo' + }; + if (port) { + options.port = port; + } + gamedig_1.default + .query(options) + .then(data => { + let emb = gameDigHelper_js_1.default(data); + emb.setColor(0xFFCC4D); + emb.setThumbnail('https://steamcdn-a.akamaihd.net/steam/apps/730/header.jpg'); + return msg.replyEmbed(emb); + }) + .catch(err => { + if (err === 'UDP Watchdog Timeout') + return msg.reply('Server timed out, it\'s probably offline. ' + emoji_random_1.default.random()); + return msg.reply('Woops, an unknown error has occured. ' + emoji_random_1.default.random()); + }); + } + finally { + msg.channel.stopTyping(); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Nnb3NlcnZlcnN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy91dGlsaXR5L2NzZ29zZXJ2ZXJzdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFFL0QsZ0VBQWdDO0FBQ2hDLHNEQUE2QjtBQUM3QixvRkFBd0Q7QUFFeEQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLHVCQUF3QixTQUFRLDZCQUFPO0lBQzFELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRTtnQkFDTCwyQkFBMkI7Z0JBQzNCLDhCQUE4QjtnQkFDOUIsMENBQTBDO2dCQUMxQywrQ0FBK0M7Z0JBQy9DLFFBQVE7YUFDWDtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLGdEQUFnRDtZQUM3RCxRQUFRLEVBQUU7Z0JBQ04sc0JBQXNCO2dCQUN0QixZQUFZO2FBQ2Y7WUFDRCxlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLHVDQUF1QztvQkFDL0MsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNEO29CQUNJLEdBQUcsRUFBRSxNQUFNO29CQUNYLE1BQU0sRUFBRSxpQ0FBaUM7b0JBQ3pDLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU8sRUFBRSxPQUFPO29CQUNoQixHQUFHLEVBQUUsS0FBSztvQkFDVixHQUFHLEVBQUUsQ0FBQztpQkFDVDthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNLLEdBQUcsQ0FBQyxHQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTs7WUFDMUMsSUFBSTtnQkFDQSxNQUFNLE9BQU8sR0FBRztvQkFDWixJQUFJO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNmLENBQUE7Z0JBRUQsSUFBSSxJQUFJLEVBQUU7b0JBQ04sT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7aUJBQ3RCO2dCQUVELGlCQUFPO3FCQUNGLEtBQUssQ0FBQyxPQUFPLENBQUM7cUJBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNULElBQUksR0FBRyxHQUFHLDBCQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQzdCLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBQ3RCLEdBQUcsQ0FBQyxZQUFZLENBQUMsMkRBQTJELENBQUMsQ0FBQTtvQkFDN0UsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUM5QixDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNULElBQUksR0FBRyxLQUFLLHNCQUFzQjt3QkFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO29CQUduSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUM5RSxDQUFDLENBQUMsQ0FBQTthQUNUO29CQUFTO2dCQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUE7YUFDM0I7UUFDTCxDQUFDO0tBQUE7Q0FDSixDQUFDIn0=
\ No newline at end of file diff --git a/dist/commands/utility/fortnitestats.js b/dist/commands/utility/fortnitestats.js new file mode 100644 index 0000000..7faafb0 --- /dev/null +++ b/dist/commands/utility/fortnitestats.js @@ -0,0 +1,106 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +const axios_1 = __importDefault(require("axios")); +const config_json_1 = __importDefault(require("../../config.json")); +const platforms = ['pc', 'xbl', 'psn']; +module.exports = class FortniteStatsUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'fortnitestats', + aliases: [ + 'fortnite-stats', + 'fortnitestatistics', + 'fortnite-statistics', + 'fnstats', + 'fn-stats', + 'fnstatistics', + 'fn-statistics', + 'fns', + 'fn-s' + ], + group: 'utility', + memberName: 'fortnitestats', + description: 'Grabs a specified player\' Fortnite statistics.', + details: 'Available platforms are `pc` (PC), `xbp` (Xbox Live) and `psn` (Playstation Network).', + examples: [ + 'uwu!fortnitestats Frozen', + 'uwu!fns Sin' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'pPlatform', + prompt: 'What platform would you like to search on.', + type: 'string', + parse: platform => platform.toLowerCase(), + oneOf: platforms + }, + { + key: 'pUsername', + prompt: 'What user would you like to look up?', + type: 'string' + } + ] + }); + } + run(msg, { pPlatform, pUsername }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const stats = (yield axios_1.default + .get(`https://api.fortnitetracker.com/v1/profile/${pPlatform}/${pUsername}`, { + headers: { 'TRN-Api-Key': config_json_1.default.fortniteTrackerNetworkToken } + }) + .catch(err => { + console.error(err); + return msg.reply('Woops, There was an error with the (https://api.fortnitetracker.com) API. ' + emoji_random_1.default.random()); + })).data; + if (stats.error === 'Player Not Found') { + return msg.reply('Specified player was not found on that platform. ' + emoji_random_1.default.random()); + } + console.debug(`Result for ${pUsername} on ${pPlatform}:`, stats); + let emb = new discord_js_1.MessageEmbed() + .setTitle(stats.epicUserHandle) + .setURL(`https://fortnitetracker.com/profile/${pPlatform}/${encodeURIComponent(pUsername)}`) + .setColor(0xFFCC4D) + .setFooter('Information providied by The Tracker Network.'); + if (stats.lifeTimeStats[8] && stats.lifeTimeStats[9]) { + emb.addField("🏆 Wins", `${stats.lifeTimeStats[8].value} wins (${stats.lifeTimeStats[9].value})`); + } + if (stats.lifeTimeStats[10] && stats.lifeTimeStats[11]) { + emb.addField("💀 Kills", `${stats.lifeTimeStats[10].value} kills. ${stats.lifeTimeStats[11].value} K/D ratio.`); + } + if (stats.lifeTimeStats[7]) { + emb.addField("🎮 Matches Played", stats.lifeTimeStats[7].value.toString()); + } + if (stats.lifeTimeStats[6]) { + emb.addField("🔢 Score", stats.lifeTimeStats[6].value.toString()); + } + return msg.replyEmbed(emb); + } + finally { + msg.channel.stopTyping(); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ydG5pdGVzdGF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy91dGlsaXR5L2ZvcnRuaXRlc3RhdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFDL0QsMkNBQTBDO0FBQzFDLGdFQUFnQztBQUNoQyxrREFBeUI7QUFDekIsb0VBQXNDO0FBQ3RDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sb0JBQXFCLFNBQVEsNkJBQU87SUFDdkQsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxlQUFlO1lBQ3JCLE9BQU8sRUFBRTtnQkFDTCxnQkFBZ0I7Z0JBQ2hCLG9CQUFvQjtnQkFDcEIscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsY0FBYztnQkFDZCxlQUFlO2dCQUNmLEtBQUs7Z0JBQ0wsTUFBTTthQUNUO1lBQ0QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLGVBQWU7WUFDM0IsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxPQUFPLEVBQUUsdUZBQXVGO1lBQ2hHLFFBQVEsRUFBRTtnQkFDTiwwQkFBMEI7Z0JBQzFCLGFBQWE7YUFDaEI7WUFDRCxlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLFdBQVc7b0JBQ2hCLE1BQU0sRUFBRSw0Q0FBNEM7b0JBQ3BELElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUss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
\ No newline at end of file diff --git a/dist/commands/utility/gmodserverstatus.js b/dist/commands/utility/gmodserverstatus.js new file mode 100644 index 0000000..2496915 --- /dev/null +++ b/dist/commands/utility/gmodserverstatus.js @@ -0,0 +1,89 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +const gamedig_1 = __importDefault(require("gamedig")); +const gameDigHelper_js_1 = __importDefault(require("../../utils/gameDigHelper.js")); +module.exports = class GModServerStatusUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'gmodserverstatus', + aliases: [ + 'g-mod-server-status', + 'garrysmodserverstatus', + 'garrys-mod-server-status', + 'gmodss' + ], + group: 'utility', + memberName: 'gmodserverstatus', + description: 'Grabs you the server status of a GMod server.', + examples: [ + 'uwu!gmodserverstatus', + 'uwu!gmodss' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'host', + prompt: 'What is the IP or host of the server?', + type: 'string' + }, + { + key: 'port', + prompt: 'What is the port of the server?', + type: 'integer', + default: '27015', + max: 65535, + min: 1 + } + ] + }); + } + run(msg, { host, port }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const options = { + host, + type: 'garrysmod' + }; + if (port) { + options.port = port; + } + gamedig_1.default + .query(options) + .then(data => { + let emb = gameDigHelper_js_1.default(data); + emb.setColor(0xFFCC4D); + emb.setThumbnail('https://steamcdn-a.akamaihd.net/steam/apps/4000/header.jpg'); + return msg.replyEmbed(emb); + }) + .catch(err => { + if (err === 'UDP Watchdog Timeout') + return msg.reply('Server timed out, it\'s probably offline. ' + emoji_random_1.default.random()); + return msg.reply('Woops, an unknown error has occured. ' + emoji_random_1.default.random()); + }); + } + finally { + msg.channel.stopTyping(); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ21vZHNlcnZlcnN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy91dGlsaXR5L2dtb2RzZXJ2ZXJzdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFFL0QsZ0VBQWdDO0FBQ2hDLHNEQUE2QjtBQUM3QixvRkFBd0Q7QUFFeEQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLHVCQUF3QixTQUFRLDZCQUFPO0lBQzFELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRTtnQkFDTCxxQkFBcUI7Z0JBQ3JCLHVCQUF1QjtnQkFDdkIsMEJBQTBCO2dCQUMxQixRQUFRO2FBQ1g7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsUUFBUSxFQUFFO2dCQUNOLHNCQUFzQjtnQkFDdEIsWUFBWTthQUNmO1lBQ0QsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzFELGlCQUFpQixFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzVELFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNmO1lBQ0QsSUFBSSxFQUFFO2dCQUNGO29CQUNJLEdBQUcsRUFBRSxNQUFNO29CQUNYLE1BQU0sRUFBRSx1Q0FBdUM7b0JBQy9DLElBQUksRUFBRSxRQUFRO2lCQUNqQjtnQkFDRDtvQkFDSSxHQUFHLEVBQUUsTUFBTTtvQkFDWCxNQUFNLEVBQUUsaUNBQWlDO29CQUN6QyxJQUFJLEVBQUUsU0FBUztvQkFDZixPQUFPLEVBQUUsT0FBTztvQkFDaEIsR0FBRyxFQUFFLEtBQUs7b0JBQ1YsR0FBRyxFQUFFLENBQUM7aUJBQ1Q7YUFDSjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDSyxHQUFHLENBQUMsR0FBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7O1lBQzFDLElBQUk7Z0JBQ0EsTUFBTSxPQUFPLEdBQUc7b0JBQ1osSUFBSTtvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDcEIsQ0FBQTtnQkFFRCxJQUFJLElBQUksRUFBRTtvQkFDTixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtpQkFDdEI7Z0JBRUQsaUJBQU87cUJBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQztxQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ1QsSUFBSSxHQUFHLEdBQUcsMEJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDN0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtvQkFDdEIsR0FBRyxDQUFDLFlBQVksQ0FBQyw0REFBNEQsQ0FBQyxDQUFBO29CQUM5RSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzlCLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ1QsSUFBSSxHQUFHLEtBQUssc0JBQXNCO3dCQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7b0JBR25ILE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7Z0JBQzlFLENBQUMsQ0FBQyxDQUFBO2FBQ1Q7b0JBQVM7Z0JBQ04sR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQTthQUMzQjtRQUNMLENBQUM7S0FBQTtDQUNKLENBQUMifQ==
\ No newline at end of file diff --git a/dist/commands/utility/iss.js b/dist/commands/utility/iss.js new file mode 100644 index 0000000..3f46a7c --- /dev/null +++ b/dist/commands/utility/iss.js @@ -0,0 +1,48 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +const node_superfetch_1 = __importDefault(require("node-superfetch")); +module.exports = class ISSUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'iss', + aliases: ['internationalspacestation', 'international-space-station'], + group: 'utility', + memberName: 'iss', + description: 'Tells you the current location of the International Space Station.', + examples: ['uwu!iss'], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + }); + } + run(msg) { + return __awaiter(this, void 0, void 0, function* () { + try { + const { body } = yield node_superfetch_1.default.get('http://api.open-notify.org/iss-now.json'); + const pos = body.iss_position; + return msg.reply(`The ISS is currentaly at **${pos.latitude}, ${pos.longitude}**. ${emoji_random_1.default.random()}`); + } + catch (err) { + return msg.reply(`Woops, an error has occurred: \`${err.message}\`. Try again later! ${emoji_random_1.default.random()}`); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3V0aWxpdHkvaXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStEO0FBQy9ELGdFQUFpQztBQUNqQyxzRUFBcUM7QUFFckMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFVBQVcsU0FBUSw2QkFBTztJQUM3QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLEtBQUs7WUFDWCxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSw2QkFBNkIsQ0FBQztZQUNyRSxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixXQUFXLEVBQUUsb0VBQW9FO1lBQ2pGLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNyQixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQW9COztZQUMxQixJQUFJO2dCQUNBLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLHlCQUFPLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7Z0JBQzdFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUE7Z0JBQzdCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsU0FBUyxPQUFPLHNCQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2FBQ3hHO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxHQUFHLENBQUMsT0FBTyx3QkFBd0Isc0JBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7YUFDM0c7UUFDTCxDQUFDO0tBQUE7Q0FDSixDQUFDIn0=
\ No newline at end of file diff --git a/dist/commands/utility/rustserverstatus.js b/dist/commands/utility/rustserverstatus.js new file mode 100644 index 0000000..a7ccf5c --- /dev/null +++ b/dist/commands/utility/rustserverstatus.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 emoji_random_1 = __importDefault(require("emoji-random")); +const gamedig_1 = __importDefault(require("gamedig")); +const gameDigHelper_js_1 = __importDefault(require("../../utils/gameDigHelper.js")); +module.exports = class RustServerStatusUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'rustserverstatus', + aliases: [ + 'rust-ss', + 'rust-server-status', + 'rustss' + ], + group: 'utility', + memberName: 'rustserverstatus', + description: 'Grabs you the server status of a Rust server.', + examples: [ + 'uwu!rustserverstatus', + 'uwu!rustss' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'host', + prompt: 'What is the IP or host of the server?', + type: 'string' + }, + { + key: 'port', + prompt: 'What is the port of the server?', + type: 'integer', + default: '28015', + max: 65535, + min: 1 + } + ] + }); + } + run(msg, { host, port }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const options = { + host, + type: 'rust' + }; + if (port) { + options.port = port; + } + gamedig_1.default + .query(options) + .then(data => { + msg.replyEmbed(gameDigHelper_js_1.default(data) + .setThumbnail('https://steamcdn-a.akamaihd.net/steam/apps/252490/header.jpg') + .setColor(0xFFCC4D)); + }) + .catch(err => { + if (err === 'UDP Watchdog Timeout') + return msg.reply('Server timed out, it\'s probably offline. ' + emoji_random_1.default.random()); + return msg.reply('Woops, an unknown error has occured. ' + emoji_random_1.default.random()); + }); + } + finally { + msg.channel.stopTyping(); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdHNlcnZlcnN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy91dGlsaXR5L3J1c3RzZXJ2ZXJzdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0Q7QUFFL0QsZ0VBQWdDO0FBQ2hDLHNEQUE2QjtBQUM3QixvRkFBd0Q7QUFFeEQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLHVCQUF3QixTQUFRLDZCQUFPO0lBQzFELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRTtnQkFDTCxTQUFTO2dCQUNULG9CQUFvQjtnQkFDcEIsUUFBUTthQUNYO1lBQ0QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsK0NBQStDO1lBQzVELFFBQVEsRUFBRTtnQkFDTixzQkFBc0I7Z0JBQ3RCLFlBQVk7YUFDZjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUM1RCxVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsTUFBTTtvQkFDWCxNQUFNLEVBQUUsdUNBQXVDO29CQUMvQyxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0Q7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLGlDQUFpQztvQkFDekMsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxDQUFDO2lCQUNUO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFOztZQUMxQyxJQUFJO2dCQUNBLE1BQU0sT0FBTyxHQUFHO29CQUNaLElBQUk7b0JBQ0osSUFBSSxFQUFFLE1BQU07aUJBQ2YsQ0FBQTtnQkFFRCxJQUFJLElBQUksRUFBRTtvQkFDTixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtpQkFDdEI7Z0JBRUQsaUJBQU87cUJBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQztxQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ1QsR0FBRyxDQUFDLFVBQVUsQ0FDViwwQkFBYSxDQUFDLElBQUksQ0FBQzt5QkFDZCxZQUFZLENBQUMsOERBQThELENBQUM7eUJBQzVFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDMUIsQ0FBQTtnQkFDTCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNULElBQUksR0FBRyxLQUFLLHNCQUFzQjt3QkFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO29CQUduSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUM5RSxDQUFDLENBQUMsQ0FBQTthQUNUO29CQUFTO2dCQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUE7YUFDM0I7UUFDTCxDQUFDO0tBQUE7Q0FDSixDQUFDIn0=
\ No newline at end of file diff --git a/dist/commands/utility/starboundserverstatus.js b/dist/commands/utility/starboundserverstatus.js new file mode 100644 index 0000000..230b685 --- /dev/null +++ b/dist/commands/utility/starboundserverstatus.js @@ -0,0 +1,105 @@ +"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 emoji_random_1 = __importDefault(require("emoji-random")); +const gamedig_1 = __importDefault(require("gamedig")); +module.exports = class StarboundServerStatusUtility extends discord_js_commando_1.Command { + constructor(client) { + super(client, { + name: 'starboundserverstatus', + aliases: [ + 'starbound-ss', + 'starbound-server-status', + 'sbss' + ], + group: 'utility', + memberName: 'starboundserverstatus', + description: 'Grabs you the server status of a Starbound server.', + examples: [ + 'uwu!starboundserverstatus', + 'uwu!sbss' + ], + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + throttling: { + usages: 5, + duration: 30 + }, + args: [ + { + key: 'host', + prompt: 'What is the IP or host of the server?', + type: 'string' + }, + { + key: 'port', + prompt: 'What is the port of the server?', + type: 'integer', + default: '21025', + max: 65535, + min: 1 + } + ] + }); + } + run(msg, { host, port }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const options = { + host, + type: 'starbound' + }; + if (port) { + options.port = port; + } + gamedig_1.default + .query(options) + .then(data => { + const curr = data.raw.numplayers; + const max = data.maxplayers; + return msg.replyEmbed(new discord_js_1.MessageEmbed() + .setTitle(data.name) + .setThumbnail('https://steamcdn-a.akamaihd.net/steam/apps/211820/header.jpg') + .setFooter(`Took ${data.query.duration} to complete.`) + .addFields([ + { + name: 'IP Address', + value: `${data.query.address} (port ${data.query.port})` + }, + { + name: "Online Players", + value: `${curr}/${max} (${Math.round((curr / max) * 100)}%)` + }, + { + name: "Password Required", + value: data.password ? "Yes" : "No" + } + ]) + .setColor(0xFFCC4D)); + }) + .catch(err => { + if (err === 'UDP Watchdog Timeout') + return msg.reply('Server timed out, it\'s probably offline. ' + emoji_random_1.default.random()); + return msg.reply('Woops, an unknown error has occured. ' + emoji_random_1.default.random()); + }); + } + finally { + msg.channel.stopTyping(); + } + }); + } +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmJvdW5kc2VydmVyc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3V0aWxpdHkvc3RhcmJvdW5kc2VydmVyc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStEO0FBQy9ELDJDQUFtRDtBQUNuRCxnRUFBZ0M7QUFDaEMsc0RBQTZCO0FBRzdCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSw0QkFBNkIsU0FBUSw2QkFBTztJQUMvRCxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixPQUFPLEVBQUU7Z0JBQ0wsY0FBYztnQkFDZCx5QkFBeUI7Z0JBQ3pCLE1BQU07YUFDVDtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxRQUFRLEVBQUU7Z0JBQ04sMkJBQTJCO2dCQUMzQixVQUFVO2FBQ2I7WUFDRCxlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLHVDQUF1QztvQkFDL0MsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNEO29CQUNJLEdBQUcsRUFBRSxNQUFNO29CQUNYLE1BQU0sRUFBRSxpQ0FBaUM7b0JBQ3pDLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU8sRUFBRSxPQUFPO29CQUNoQixHQUFHLEVBQUUsS0FBSztvQkFDVixHQUFHLEVBQUUsQ0FBQztpQkFDVDthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNLLEdBQUcsQ0FBQyxHQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTs7WUFDMUMsSUFBSTtnQkFDQSxNQUFNLE9BQU8sR0FBRztvQkFDWixJQUFJO29CQUNKLElBQUksRUFBRSxXQUFXO2lCQUNwQixDQUFBO2dCQUVELElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO2lCQUN0QjtnQkFFRCxpQkFBTztxQkFDRixLQUFLLENBQUMsT0FBTyxDQUFDO3FCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQTtvQkFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQTtvQkFFM0IsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUNqQixJQUFJLHlCQUFZLEVBQUU7eUJBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7eUJBQ25CLFlBQVksQ0FBQyw4REFBOEQsQ0FBQzt5QkFDNUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLGVBQWUsQ0FBQzt5QkFDckQsU0FBUyxDQUFDO3dCQUNQOzRCQUNJLElBQUksRUFBRSxZQUFZOzRCQUNsQixLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRzt5QkFDM0Q7d0JBQ0Q7NEJBQ0ksSUFBSSxFQUFFLGdCQUFnQjs0QkFDdEIsS0FBSyxFQUFFLEdBQUcsSUFBSSxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJO3lCQUMvRDt3QkFDRDs0QkFDSSxJQUFJLEVBQUUsbUJBQW1COzRCQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO3lCQUN0QztxQkFDSixDQUFDO3lCQUNELFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDMUIsQ0FBQTtnQkFDTCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNULElBQUksR0FBRyxLQUFLLHNCQUFzQjt3QkFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO29CQUduSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUM5RSxDQUFDLENBQUMsQ0FBQTthQUNUO29CQUFTO2dCQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUE7YUFDM0I7UUFDTCxDQUFDO0tBQUE7Q0FDSixDQUFDIn0=
\ No newline at end of file |