summaryrefslogtreecommitdiff
path: root/dist/commands/server/goodbye.js
blob: 8fda108066f70ec3c224bd6102253491ab664251 (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"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"));
const goodbye_js_1 = __importDefault(require("../../models/goodbye.js"));
const mongoose_1 = __importDefault(require("mongoose"));
mongoose_1.default.connect('mongodb://sin:[email protected]:47107/heroku_4qrjvmb9', { useNewUrlParser: true, useUnifiedTopology: true });
module.exports = class GoodbyeServer extends discord_js_commando_1.Command {
    constructor(client) {
        super(client, {
            name: 'goodbye',
            group: 'server',
            memberName: 'goodbye',
            description: 'Allows you to set, change or delete a server goodbye message.',
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            examples: [
                'uwu!goodbye',
                'uwu!goodbye set',
                'uwu!goodbye remove'
            ],
            args: [
                {
                    key: 'wType',
                    prompt: 'Would you like to set, remove or change the current goodbye channel?',
                    type: 'string',
                    default: ''
                }
            ],
            throttling: {
                usages: 5,
                duration: 30
            },
            guildOnly: true
        });
    }
    run(msg, { wType }) {
        return __awaiter(this, void 0, void 0, function* () {
            const goodbye = new goodbye_js_1.default({
                _id: mongoose_1.default.Types.ObjectId(),
                username: msg.author.username,
                userID: msg.author.id,
                guildname: msg.guild.name,
                guildID: msg.guild.id,
                channelname: msg.channel,
                channelID: msg.channel.id,
                time: msg.createdAt
            });
            const guildExist = yield goodbye_js_1.default.findOne({ guildID: msg.guild.id });
            if (msg.member.hasPermission('MANAGE_GUILD')) {
                goodbye_js_1.default.findOne({ guildID: msg.guild.id }, (error, guild) => __awaiter(this, void 0, void 0, function* () {
                    if (error) {
                        console.log(error);
                    }
                    else if (guild && wType == 'remove') {
                        yield goodbye_js_1.default.findOneAndDelete({ guildID: msg.guild.id });
                        msg.say('The current goodbye channel has been unset! ' + emoji_random_1.default.random()).then(mnotif => {
                            mnotif.delete({ timeout: 2000 });
                            msg.delete({ timeout: 2000 });
                        });
                    }
                    else if (!guild && wType == 'remove') {
                        msg.reply('There is no current goodbye channel set for this guild! ' + emoji_random_1.default.random()).then(mnotif => {
                            mnotif.delete({ timeout: 2000 });
                            msg.delete({ timeout: 2000 });
                        });
                    }
                    else if (guild && wType == 'set') {
                        msg.reply(`There already is a goodbye channel set! It's ${guild.channelname}! ` + emoji_random_1.default.random()).then(mnotif => {
                            mnotif.delete({ timeout: 2000 });
                            msg.delete({ timeout: 2000 });
                        });
                    }
                    else if (!guild && wType == 'set') {
                        yield goodbye.save()
                            .then(result => console.log(result))
                            .catch(err => console.log(err));
                        msg.reply(`The goodbye channel has been set to ${msg.channel}! ` + emoji_random_1.default.random()).then(mnotif => {
                            mnotif.delete({ timeout: 2000 });
                            msg.delete({ timeout: 2000 });
                        });
                    }
                    else if (!guild) {
                        msg.reply('There is no current goodbye channel set for this guild! To set one, do `uwu!goodbye set` in the channel you want to set it in. ' + emoji_random_1.default.random());
                    }
                    else if (guild) {
                        msg.reply(`The current goodbye channel is ${guild.channelname}. ` + emoji_random_1.default.random());
                    }
                }));
            }
            else {
                msg.reply('Insufficent permissions! ' + emoji_random_1.default.random());
            }
        });
    }
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZGJ5ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zZXJ2ZXIvZ29vZGJ5ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErRDtBQUMvRCxnRUFBaUM7QUFDakMseUVBQThDO0FBQzlDLHdEQUE2QjtBQUM3QixrQkFBSyxDQUFDLE9BQU8sQ0FBQywwRUFBMEUsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUU5SSxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sYUFBYyxTQUFRLDZCQUFPO0lBQ2hELFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxRQUFRO1lBQ2YsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLCtEQUErRDtZQUM1RSxlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDNUQsUUFBUSxFQUFFO2dCQUNOLGFBQWE7Z0JBQ2IsaUJBQWlCO2dCQUNqQixvQkFBb0I7YUFDdkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE9BQU87b0JBQ1osTUFBTSxFQUFFLHNFQUFzRTtvQkFDOUUsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFLEVBQUU7aUJBQ2Q7YUFDSjtZQUNELFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNmO1lBQ0QsU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNLLEdBQUcsQ0FBQyxHQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFOztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJ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