//@ts-ignore no types 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: any) => { 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: any) => 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 }