diff options
Diffstat (limited to 'dist/commands/utility/clear.js')
| -rw-r--r-- | dist/commands/utility/clear.js | 81 |
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 |