summaryrefslogtreecommitdiff
path: root/src/utils/gameDigHelper.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/gameDigHelper.ts')
-rw-r--r--src/utils/gameDigHelper.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/utils/gameDigHelper.ts b/src/utils/gameDigHelper.ts
new file mode 100644
index 0000000..647777d
--- /dev/null
+++ b/src/utils/gameDigHelper.ts
@@ -0,0 +1,46 @@
+import ms from "ms";
+import { Util, MessageEmbed } from 'discord.js'
+
+/**
+* Quickly create an embed for a GameDig status using values found in all responses
+* @name gamedigHelper
+* @param {Object} res Result from GameDig
+* @returns {MessageEmbed}
+*/
+module.exports = res => {
+ const playerCount = res.players.length
+ const maxPlayers = res.maxPlayers
+
+ const emb = new MessageEmbed()
+ .setTitle(res.name)
+ .setFooter(`Took ${ms(res.ping)} to complete.`)
+ .addFields([
+ {
+ name: 'Connect',
+ value: `${res.connect}`
+ },
+ {
+ name: 'Online Players',
+ value: `${playerCount}/${maxPlayers} (${Math.round((playerCount / maxPlayers) * 100)}%)`
+ },
+ {
+ name: 'Map',
+ value: Util.escapeMarkdown(res.map)
+ },
+ {
+ name: 'Password Required',
+ value: res.password ? 'Yes' : 'No'
+ }
+ ])
+
+ const unconfirmedValues = new Map([
+ [res.raw.secure, secure => emb.addField('Vac Secured', secure ? 'Yes' : 'No')],
+ [res.raw.games, game => emb.addField('Game', Util.escapeMarkdown(game))]
+ ])
+
+ unconfirmedValues.forEach((val, key) => {
+ if (typeof key !== 'undefined') val(key)
+ })
+
+ return emb
+} \ No newline at end of file