const { SlashCommandBuilder, PermissionFlagsBits } = require('discord.js'); module.exports = { category: 'dev', data: new SlashCommandBuilder() .setName('reload') .setDescription('Recharge une commande.') .setDefaultMemberPermissions(PermissionFlagsBits.Administrator) .addStringOption(option => option.setName('command') .setDescription('La commande à recharger.') .setRequired(true)), async execute(interaction) { if (!interaction.member.permissions.has(PermissionFlagsBits.Administrator)) { return interaction.reply({ content: '❌ Seuls les administrateurs peuvent utiliser cette commande.', ephemeral: true }); } const commandName = interaction.options.getString('command', true).toLowerCase(); const command = interaction.client.commands.get(commandName); if (!command) { return interaction.reply({ content: `❌ Aucune commande nommée \`${commandName}\` n'a été trouvée !`, ephemeral: true }); } delete require.cache[require.resolve(`../${command.category}/${command.data.name}.js`)]; try { const newCommand = require(`../${command.category}/${command.data.name}.js`); interaction.client.commands.set(newCommand.data.name, newCommand); await interaction.reply({ content: `✅ Commande \`${newCommand.data.name}\` rechargée avec succès !`, ephemeral: true }); } catch (error) { console.error(error); await interaction.reply({ content: `❌ Erreur lors du rechargement de \`${command.data.name}\`:\n\`${error.message}\``, ephemeral: true }); } }, };