blob: ab23bf7562dfcb000744947c0ec2911db8ecc45a [file] [log] [blame]
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 };