30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { createCommand } from "@lib/utils";
|
|
import { KyokoClient } from "@/lib/BotClient";
|
|
import { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } from "discord.js";
|
|
import { createErrorEmbed } from "@lib/embeds";
|
|
|
|
export const reload = createCommand({
|
|
data: new SlashCommandBuilder()
|
|
.setName("reload")
|
|
.setDescription("Reloads all commands")
|
|
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
|
|
execute: async (interaction) => {
|
|
await interaction.deferReply({ ephemeral: true });
|
|
|
|
try {
|
|
await KyokoClient.loadCommands(true);
|
|
const embed = new EmbedBuilder()
|
|
.setTitle("✅ System Reloaded")
|
|
.setDescription(`Successfully reloaded ${KyokoClient.commands.size} commands.`)
|
|
.setColor("Green");
|
|
|
|
// Deploy commands
|
|
await KyokoClient.deployCommands();
|
|
|
|
await interaction.editReply({ embeds: [embed] });
|
|
} catch (error) {
|
|
console.error(error);
|
|
await interaction.editReply({ embeds: [createErrorEmbed("An error occurred while reloading commands. Check console for details.", "Reload Failed")] });
|
|
}
|
|
}
|
|
}); |