| import { CommandInteraction } from "discord.js"; |
| import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; |
| import generateEmojiEmbed from "../../utils/generateEmojiEmbed.js"; |
| import { WrappedCheck } from "jshaiku"; |
| |
| const command = (builder: SlashCommandSubcommandBuilder) => |
| builder |
| .setName("ping") |
| .setDescription("Gets the bot's ping time") |
| |
| const callback = async (interaction: CommandInteraction) => { |
| // WEBSOCKET | Nucleus -> Discord |
| // EDITING | Nucleus -> discord -> nucleus | edit time / 2 |
| let initial = new Date().getTime(); |
| await interaction.reply({embeds: [new generateEmojiEmbed() |
| .setTitle("Ping") |
| .setDescription(`Checking ping times...`) |
| .setEmoji("NUCLEUS.LOADING") |
| .setStatus("Danger") |
| ], ephemeral: true}); |
| let ping = new Date().getTime() - initial; |
| interaction.editReply({embeds: [new generateEmojiEmbed() |
| .setTitle("Ping") |
| .setDescription( |
| `**Ping:** \`${ping}ms\`\n` + |
| `**To Discord:** \`${interaction.client.ws.ping}ms\`\n` + |
| `**From Expected:** \`±${Math.abs((ping / 2) - interaction.client.ws.ping)}ms\`` |
| ) |
| .setEmoji("CHANNEL.SLOWMODE.OFF") |
| .setStatus("Danger") |
| ]}) |
| } |
| |
| const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => { |
| return true; |
| } |
| |
| export { command }; |
| export { callback }; |
| export { check }; |