import { createCommand } from "@lib/utils"; import { AuroraClient } from "@/lib/BotClient"; import { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits, MessageFlags } from "discord.js"; import { createErrorEmbed, createSuccessEmbed, createWarningEmbed } from "@lib/embeds"; export const refresh = createCommand({ data: new SlashCommandBuilder() .setName("refresh") .setDescription("Reloads all commands and config without restarting") .setDefaultMemberPermissions(PermissionFlagsBits.Administrator), execute: async (interaction) => { await interaction.deferReply({ flags: MessageFlags.Ephemeral }); try { const start = Date.now(); await AuroraClient.loadCommands(true); const duration = Date.now() - start; // Deploy commands await AuroraClient.deployCommands(); const embed = createSuccessEmbed( `Successfully reloaded ${AuroraClient.commands.size} commands in ${duration}ms.`, "System Refreshed" ); await interaction.editReply({ embeds: [embed] }); } catch (error) { console.error(error); await interaction.editReply({ embeds: [createErrorEmbed("An error occurred while refreshing commands. Check console for details.", "Refresh Failed")] }); } } });