mbot/commands/moderation/clear.js
2024-05-11 14:57:50 -07:00

39 lines
1.7 KiB
JavaScript

const { SlashCommandBuilder, PermissionsBitField } = require('discord.js');
const informationStatus = "[INFO]: ";
const warningStatus = "[WARNING]: ";
const errorStatus = "[ERROR]: ";
const wait = require('node:timers/promises').setTimeout;
module.exports = {
data: new SlashCommandBuilder()
.setName('clear')
.setDescription('Clears a certain amount of text!')
.addNumberOption(option =>
option.setName('amount')
.setDescription('Set the amount to clear!')
.setRequired(true)),
async execute(interaction) {
const amount = interaction.options.getNumber('amount');
if(amount <= 0) return interaction.reply({ content: "<:xmark:1238963594758979736> This is not a valid number!", ephemeral: true });
if(!interaction.member.permissions.has(PermissionsBitField.Flags.ManageMessages)) return interaction.reply({ content: "<:xmark:1238963594758979736> You dont have permission to use this command", ephemeral: true });
try {
await interaction.channel.bulkDelete(amount);
await interaction.reply({ content: `<:checkmark:1238964552482422844> Deleted ${amount} of messages!`, ephemeral: false });
console.log(informationStatus + `Cleared ${amount} amount of text in #${interaction.channel.name} with id of ${interaction.channel.id}`);
await wait(6_000);
await interaction.deleteReply();
} catch (error) {
await interaction.reply({ content: "Sorry! Could not execute the clear command. Something went wrong", ephemeral: true });
console.log(errorStatus + "Something went wrong while trying to clear messages! Debug information is below.");
console.error(error);
}
}
}