summaryrefslogtreecommitdiff
path: root/dist/commands/moderation/clear.js
blob: a857acaa04cb55ace06db1ba69699f8e8528ac8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"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());
    });
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const discord_js_commando_1 = require("discord.js-commando");
const emoji_random_1 = __importDefault(require("emoji-random"));
module.exports = class ClearBot extends discord_js_commando_1.Command {
    constructor(client) {
        super(client, {
            name: 'clear',
            aliases: ['delete', 'del', 'c', 'd'],
            group: 'bot',
            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_1.default.random()).then(deleteNotificationMessage => {
                        deleteNotificationMessage.delete({ timeout: 1000 });
                    });
                }
                else if (isNaN(deleteAmount)) {
                    msg.reply('The amount parameter isn\'t a number. ' + emoji_random_1.default.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_1.default.random()).then(deleteNotificationMessage => {
                        deleteNotificationMessage.delete({ timeout: 1000 });
                    });
                }
                else if (deleteAmount < 1) {
                    msg.reply('You have to delete at least 1 message. ' + emoji_random_1.default.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_1.default.random()).then(deleteNotificationMessage => {
                        deleteNotificationMessage.delete({ timeout: 1000 });
                    });
                }
            }
            else {
                msg.reply('Insufficent permsissions. ' + emoji_random_1.default.random());
            }
        });
    }
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvbW9kZXJhdGlvbi9jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErRDtBQUMvRCxnRUFBaUM7QUFFakMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFFBQVMsU0FBUSw2QkFBTztJQUMzQyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDcEMsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFO2dCQUNGO29CQUNJLEdBQUcsRUFBRSxjQUFjO29CQUNuQixNQUFNLEVBQUUsNkNBQTZDO29CQUNyRCxJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtZQUNELFFBQVEsRUFBRTtnQkFDTixjQUFjO2dCQUNkLGVBQWU7Z0JBQ2YsWUFBWTtnQkFDWixVQUFVO2dCQUNWLFVBQVU7YUFDYjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztZQUN0RixpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztTQUN6RSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxZQUFZLEVBQUU7O1lBQzVDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDZixHQUFHLENBQUMsS0FBSyxDQUFDLHdFQUF3RSxHQUFHLHNCQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRTt3QkFFbEkseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO29CQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxHQUFHLHNCQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRTt3QkFFbEcseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUFNLElBQUksWUFBWSxHQUFHLEdBQUcsRUFBRTtvQkFDM0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxvREFBb0QsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7d0JBRTlHLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUN4RCxDQUFDLENBQUMsQ0FBQztpQkFDTjtxQkFBTSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7b0JBQ3pCLEdBQUcsQ0FBQyxLQUFLLENBQUMseUNBQXlDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO3dCQUVuRyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBSUk7b0JBQ0QsSUFBSSxXQUFXLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFLbkMsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7d0JBQzdCLEtBQUssRUFBRSxXQUFXO3FCQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNyQyxDQUFDLENBQUMsQ0FBQztvQkFDSCxHQUFHLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLHNCQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRTt3QkFFcEYseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7aUJBQU07Z0JBQ0gsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDNUQ7UUFDTCxDQUFDO0tBQUE7Q0FDSixDQUFDIn0=