diff options
Diffstat (limited to 'src/commands')
-rw-r--r-- | src/commands/info/PingCommand.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/commands/info/PingCommand.ts b/src/commands/info/PingCommand.ts index 5a5b819..bb3324d 100644 --- a/src/commands/info/PingCommand.ts +++ b/src/commands/info/PingCommand.ts @@ -1,3 +1,5 @@ +import { CommandInteraction } from 'discord.js'; +import { Message } from 'discord.js'; import { MessageEmbed } from 'discord.js'; import { BotCommand } from '../../lib/extensions/BotCommand'; import { BotMessage } from '../../lib/extensions/BotMessage'; @@ -39,4 +41,31 @@ export default class PingCommand extends BotCommand { embed }); } + + public async execSlash(message: CommandInteraction): Promise<void> { + const timestamp1 = message.createdTimestamp; + await message.reply('Pong!'); + const timestamp2 = await message.fetchReply().then(m => (m as Message).createdTimestamp) + const botLatency = `\`\`\`\n ${Math.floor( + timestamp2 - timestamp1 + )}ms \`\`\``; + const apiLatency = `\`\`\`\n ${Math.round( + this.client.ws.ping + )}ms \`\`\``; + const embed = new MessageEmbed() + .setTitle('Pong! 🏓') + .addField('Bot Latency', botLatency, true) + .addField('API Latency', apiLatency, true) + .setFooter( + message.user.username, + message.user.displayAvatarURL({ dynamic: true }) + ) + .setTimestamp(); + await message.editReply({ + content: null, + embeds: [ + embed + ] + }); + } } |