summaryrefslogtreecommitdiff
path: root/src/commands/utility/starboundserverstatus.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/utility/starboundserverstatus.ts')
-rw-r--r--src/commands/utility/starboundserverstatus.ts99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/commands/utility/starboundserverstatus.ts b/src/commands/utility/starboundserverstatus.ts
deleted file mode 100644
index 0d8e319..0000000
--- a/src/commands/utility/starboundserverstatus.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando';
-import { MessageEmbed } from 'discord.js';
-//@ts-ignore no types
-import emoji from 'emoji-random'
-//@ts-ignore no types
-import gamedig from 'gamedig'
-const gameDigHelper = require('../../utils/gameDigHelper.js')
-
-module.exports = class StarboundServerStatusUtility extends Command {
- constructor(client: CommandoClient) {
- 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: CommandoMessage, { host, port }: any) {
- try {
- const options = {
- host,
- type: 'starbound'
- }
-
- if (port) {
- //@ts-ignore added auto
- options.port = port
- }
-
- return gamedig
- .query(options)
- // this is auto'd so might not be good
- .then((data: { raw: { numplayers: any; }; maxplayers: any; name: any; query: { duration: any; address: any; port: any; }; password: any; }) => {
- const curr = data.raw.numplayers
- const max = data.maxplayers
-
- return msg.replyEmbed(
- new 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: string) => {
- if (err === 'UDP Watchdog Timeout') return msg.reply('Server timed out, it\'s probably offline. ' + emoji.random())
-
- console.error(err)
- return msg.reply('Woops, an unknown error has occured. ' + emoji.random())
- })
- } finally {
- return msg.channel.stopTyping()
- }
- }
-}; \ No newline at end of file