26 lines
1 KiB
TypeScript
26 lines
1 KiB
TypeScript
import { SlashCommandBuilder } from '@discordjs/builders';
|
|
import { Client, CommandInteraction, Message } from 'discord.js';
|
|
import { getLocale, getLocalizations } from '../../utils/locales';
|
|
import { getFilename } from '../../utils/misc';
|
|
|
|
export default {
|
|
data: (client: Client) => {
|
|
const filename = getFilename(__filename);
|
|
return new SlashCommandBuilder()
|
|
.setName(filename.toLowerCase())
|
|
.setDescription(client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? '?')
|
|
.setNameLocalizations(getLocalizations(client, `c_${filename}_name`))
|
|
.setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`));
|
|
},
|
|
|
|
interaction: async (interaction: CommandInteraction, client: Client) => {
|
|
const loc = getLocale(client, interaction.locale);
|
|
|
|
const sent = await interaction.reply({ content: 'Pinging...', fetchReply: true }) as Message;
|
|
|
|
interaction.editReply(
|
|
`${loc?.get('c_ping1')}: \
|
|
${sent.createdTimestamp - interaction.createdTimestamp}ms
|
|
${loc?.get('c_ping2')}: ${client.ws.ping}ms.`);
|
|
},
|
|
};
|