aboutsummaryrefslogtreecommitdiff
path: root/commands/Moderation/purge.js
diff options
context:
space:
mode:
Diffstat (limited to 'commands/Moderation/purge.js')
-rw-r--r--commands/Moderation/purge.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/commands/Moderation/purge.js b/commands/Moderation/purge.js
new file mode 100644
index 0000000..0540bb3
--- /dev/null
+++ b/commands/Moderation/purge.js
@@ -0,0 +1,30 @@
+exports.run = async (bot, msg, args) => {
+ if (!msg.member.hasPermission('MANAGE_MESSAGES')) return msg.reply('You don\'t have permssion to manage messages.');
+ if (!msg.guild.member(bot.user).hasPermission('MANAGE_MESSAGES')) return msg.reply('I don\'t have permssion to manage messages.');
+
+ const user = msg.mentions.users.first();
+ const amount = parseInt(args[0]) ? parseInt(args[0]) : parseInt(args[1]);
+
+ if (!amount) return msg.reply('How many message shall I delete?');
+ if (!amount && !user) return msg.reply('Tell me the user and amount or the just the amount of messages to purge.');
+ if (amount > 100 || amount < 3) return msg.reply('Choose an amount less than 98 and greater than 1');
+ msg.delete();
+
+ let msgs = await msg.channel.fetchMessages({ limit: amount });
+ if (user) {
+ const filterBy = user ? user.id : bot.user.id;
+ msgs = msgs.filter(m => m.author.id === filterBy).array().slice(0, amount);
+ }
+ msg.channel.bulkDelete(msgs).catch(error => console.log(error.stack));
+};
+
+exports.conf = {
+ aliases: ['prune', 'rm'],
+ guildOnly: true,
+};
+
+exports.help = {
+ name: 'purge',
+ description: 'Get rid of messages quickly.',
+ usage: '@user <messages>',
+};