diff --git a/src/commands/moderation/index.ts b/src/commands/moderation/index.ts index e74193e..cfc9e20 100644 --- a/src/commands/moderation/index.ts +++ b/src/commands/moderation/index.ts @@ -1,20 +1,21 @@ import { SlashCommandBuilder } from "@discordjs/builders"; import { ChatInputCommandInteraction } from "discord.js"; -import modules from "./modules"; -export const moduleData = modules; +// Modules +import modulePrune from "./modules/prune"; export const builder = new SlashCommandBuilder() .setName("moderation") .setDescription("Moderation.") + .setDMPermission(false) - .addSubcommand(modules.prune.builder); + .addSubcommand(modulePrune.builder); // Execute the command export const execute = async (interaction: ChatInputCommandInteraction) => { switch (interaction.options.getSubcommand()) { case "prune": { - await modules.prune.execute(interaction); + await modulePrune.execute(interaction); break; } default: { diff --git a/src/commands/moderation/modules/index.ts b/src/commands/moderation/modules/index.ts deleted file mode 100644 index e7dd532..0000000 --- a/src/commands/moderation/modules/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import prune from "./prune"; - -export default { prune }; diff --git a/src/commands/moderation/modules/prune/index.ts b/src/commands/moderation/modules/prune/index.ts index 80251b9..0245a33 100644 --- a/src/commands/moderation/modules/prune/index.ts +++ b/src/commands/moderation/modules/prune/index.ts @@ -6,17 +6,13 @@ import { EmbedBuilder, PermissionsBitField, } from "discord.js"; +import deferReply from "../../../../handlers/deferReply"; +import checkPermission from "../../../../helpers/checkPermission"; // Configurations import getEmbedConfig from "../../../../helpers/getEmbedData"; // Function export default { - metadata: { - guildOnly: true, - ephemeral: false, - permissions: [PermissionsBitField.Flags.ManageMessages], - }, - builder: (command: SlashCommandSubcommandBuilder) => { return command .setName("prune") @@ -32,6 +28,13 @@ export default { ); }, execute: async (interaction: ChatInputCommandInteraction) => { + await deferReply(interaction, false); + + await checkPermission( + interaction, + PermissionsBitField.Flags.ManageMessages + ); + const { errorColor, footerText, footerIcon } = await getEmbedConfig( interaction.guild );