summaryrefslogtreecommitdiff
path: root/src/commands/fun/quote.ts
blob: e0905749c8789ee19384cc989774b97a6b4c3ef0 (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
// Quote Packages
import mq from 'popular-movie-quotes';
import hsq from 'harvey-specter-quotes'
import aq from 'animequote'
import cq from 'chewbacca-quotes'
import asq from 'arnie-quote'
import ztq from 'zero-two-quotes'

import { Command, CommandoMessage } from 'discord.js-commando';
import emoji from 'emoji-random';

module.exports = class QuoteFun extends Command {
    constructor(client) {
        super(client, {
            name: 'quote',
            aliases: ['quotes'],
            group: 'fun',
            memberName: 'quote',
            description: 'Either gives you a random quote or a quote from a specified category.',
            throttling: {
                usages: 5,
                duration: 30
            },
            examples: [
                'uwu!quote',
                'uwu!qutoes',
                'uwu!quote movie',
                'uwu!quotes harvey specter'
            ],
            args: [
                {
                    key: 'atCharacter',
                    prompt: 'Would you like a specific type?\nTypes: movie, harvey specter, anime, chewbacca, arnold schwarzenegger or zero two.',
                    type: 'string'
                }
            ],
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
			clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
        });
    }
    run(msg: CommandoMessage, { atCharacter }) {
        if (atCharacter == 'random' || atCharacter == 'no') {
            var quoteNum = Math.floor((Math.random() * 6) + 1);
            switch (quoteNum) {
                case 1:
                    msg.reply(mq.getRandomQuote() + ' ' + emoji.random());
                    break
                case 2:
                    msg.reply(hsq.random() + ' ' + emoji.random());
                    break
                case 3:
                    msg.reply(aq().quotesentence + ' ' + emoji.random());
                    break
                case 4:
                    msg.reply(cq() + ' ' + emoji.random())
                    break
                case 5:
                    msg.reply(asq() + ' ' + emoji.random())
                    break
                case 6:
                    msg.reply(ztq() + ' ' + emoji.random())
                    break
            }
        } else if (atCharacter == 'movie' || atCharacter == 'movies') {
            msg.reply(mq.getRandomQuote() + ' ' + emoji.random());
        } else if (atCharacter == 'harvey specter' || atCharacter == 'harvey') {
            msg.reply(hsq.random() + ' ' + emoji.random());
        } else if (atCharacter == 'anime' || atCharacter == 'animes') {
            msg.reply(aq().quotesentence + ' ' + emoji.random());
        } else if (atCharacter == 'chewbacca') {
            msg.reply(cq() + ' ' + emoji.random())
        } else if (atCharacter == 'arnold schwarzenegger' || atCharacter == 'arnold' || atCharacter == 'schwarzenegger') {
            msg.reply(asq() + ' ' + emoji.random())
        } else if (atCharacter == 'zero two' || atCharacter == 'ditf' || atCharacter == '002' || atCharacter == 'darling in the franxx') {
            msg.reply(ztq() + ' ' + emoji.random())
        } else {
            msg.reply('That was not at option. ' + emoji.random())
        }
    }
};