summaryrefslogtreecommitdiff
path: root/dist/commands/utility/clear.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/utility/clear.js')
-rw-r--r--dist/commands/utility/clear.js81
1 files changed, 81 insertions, 0 deletions
diff --git a/dist/commands/utility/clear.js b/dist/commands/utility/clear.js
new file mode 100644
index 0000000..0efd8f7
--- /dev/null
+++ b/dist/commands/utility/clear.js
@@ -0,0 +1,81 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class ClearUtility extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'clear',
+ aliases: ['delete', 'del', 'c', 'd'],
+ group: 'utility',
+ memberName: 'clear',
+ description: 'Clears a specified amount of messages.',
+ guildOnly: true,
+ args: [
+ {
+ key: 'deleteAmount',
+ prompt: 'How many messages would you like to delete?',
+ type: 'integer'
+ }
+ ],
+ examples: [
+ 'uwu!clear 23',
+ 'uwu!delete 75',
+ 'uwu!del 32',
+ 'uwu!c 45',
+ 'uwu!d 84'
+ ],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY', 'MANAGE_MESSAGES'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY', 'MANAGE_MESSAGES']
+ });
+ }
+ run(msg, { deleteAmount }) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (msg.member.hasPermission('MANAGE_MESSAGES')) {
+ if (!deleteAmount) {
+ msg.reply('You haven\'t specified an amount of messages which should be deleted. ' + emoji.random()).then(deleteNotificationMessage => {
+ deleteNotificationMessage.delete({ timeout: 1000 });
+ });
+ }
+ else if (isNaN(deleteAmount)) {
+ msg.reply('The amount parameter isn\'t a number. ' + emoji.random()).then(deleteNotificationMessage => {
+ deleteNotificationMessage.delete({ timeout: 1000 });
+ });
+ }
+ else if (deleteAmount > 100) {
+ msg.reply('You can\'t delete more than 100 messages at once. ' + emoji.random()).then(deleteNotificationMessage => {
+ deleteNotificationMessage.delete({ timeout: 1000 });
+ });
+ }
+ else if (deleteAmount < 1) {
+ msg.reply('You have to delete at least 1 message. ' + emoji.random()).then(deleteNotificationMessage => {
+ deleteNotificationMessage.delete({ timeout: 1000 });
+ });
+ }
+ else {
+ var clearAmount = deleteAmount + 1;
+ yield msg.channel.messages.fetch({
+ limit: clearAmount
+ }).then(messages => {
+ msg.channel.bulkDelete(messages);
+ });
+ msg.reply('It\'s been deleted ~uwu ' + emoji.random()).then(deleteNotificationMessage => {
+ deleteNotificationMessage.delete({ timeout: 1000 });
+ });
+ }
+ }
+ else {
+ msg.reply('Insufficent perms. ' + emoji.random());
+ }
+ });
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdXRpbGl0eS9jbGVhci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sWUFBYSxTQUFRLE9BQU87SUFDL0MsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3BDLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLGNBQWM7b0JBQ25CLE1BQU0sRUFBRSw2Q0FBNkM7b0JBQ3JELElBQUksRUFBRSxTQUFTO2lCQUNsQjthQUNKO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLGNBQWM7Z0JBQ2QsZUFBZTtnQkFDZixZQUFZO2dCQUNaLFVBQVU7Z0JBQ1YsVUFBVTthQUNiO1lBQ0QsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO1lBQ3RGLGlCQUFpQixFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO1NBQ3pFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDSyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFOztZQUMzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyx3RUFBd0UsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRTt3QkFDbEkseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO29CQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO3dCQUNsRyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBQU0sSUFBSSxZQUFZLEdBQUcsR0FBRyxFQUFFO29CQUMzQixHQUFHLENBQUMsS0FBSyxDQUFDLG9EQUFvRCxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO3dCQUM5Ryx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBQU0sSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO29CQUN6QixHQUFHLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO3dCQUNuRyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBSUk7b0JBQ0QsSUFBSSxXQUFXLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFLbkMsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7d0JBQzdCLEtBQUssRUFBRSxXQUFXO3FCQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNyQyxDQUFDLENBQUMsQ0FBQztvQkFDSCxHQUFHLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO3dCQUNwRix5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQyxDQUFDLENBQUM7aUJBQ047YUFDSjtpQkFBTTtnQkFDSCxHQUFHLENBQUMsS0FBSyxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3JEO1FBQ0wsQ0FBQztLQUFBO0NBQ0osQ0FBQyJ9 \ No newline at end of file