summaryrefslogtreecommitdiff
path: root/src/commands/zerotwo/darling.ts
blob: 3b7517e6117db899bedb733a90a71f9e50112926 (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
import { Command, CommandoMessage } from 'discord.js-commando';
import Darling from '../../models/darling.js';
import mongo from 'mongoose';
mongo.connect('mongodb://sin:[email protected]:47107/heroku_4qrjvmb9')

module.exports = class DarlingZeroTwo extends Command {
    constructor(client) {
        super(client, {
            name: 'darling',
            group: 'zerotwo',
            memberName: 'darling',
            description: 'Get\'s or sets uwufier\'s current darling.',
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            examples: [
                'uwu!darling',
                'uwu!darling set',
                'uwu!darling remove'
            ],
            args: [
                {
                    key: 'darlingName',
                    prompt: 'Who should the darling be?',
                    type: 'string',
                    default: ''
                }
            ]
        });
    }
    async run(msg: CommandoMessage, { darlingName }) {
        const darling = new Darling({
            _id: mongo.Types.ObjectId(),
            username: msg.author.username,
            userID: msg.author.id,
            guildname: msg.guild.name,
            guildID: msg.guild.id,
            time: msg.createdAt
        })
        const guildExist = await Darling.findOne({ guildID: msg.guild.id })

        if (guildExist && darlingName == 'remove') {
            await Darling.findOneAndDelete({ guildID: msg.guild.id })
            msg.say('The current darling has been removed.')
        } else if (!guildExist && darlingName == 'remove') {
            msg.reply('There is no darling set in this server.')
        } else if (darlingName || darlingName == 'set') {
            await darling.save().then(result => console.log(result)).catch(err => console.log(err))

            var quoteNum = Math.floor((Math.random() * 3) + 1);
            switch (quoteNum) {
                case 1: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break
                case 2: var quoteResult = 'I like the look in your eyes. It makes my heart race. You are now my darling!'; break
                case 3: var quoteResult = 'Wow, your taste makes my heart race. It bites and lingers... The taste of danger. You are now my darling!'; break
                default: var quoteResult = 'I think I have taken a liking to you. Won\'t you be my darling?'; break
            }
            msg.reply(quoteResult)
        } else if (!guildExist) {
            msg.reply('I haven\'t found my darling yet!')
        } else if (guildExist) {
            let result = await Darling.findOne({ userID: msg.author.id })
            msg.reply(`My darling is <@${result.userID}>`)
        }
    }
};