summaryrefslogtreecommitdiff
path: root/src/commands/crypto/btcchange.ts
blob: 002a2cb4e6c54578f98a24652e231eaf9c0b8682 (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
import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando';
import btc from 'btc-value';
//@ts-ignore no types
import emoji from 'emoji-random';
btc.setApiKey('a43419ce-fc59-4951-8af9-20c5e36ef73f');

module.exports = class BTCChangeCrypto extends Command {
    constructor(client: CommandoClient) {
        super(client, {
            name: 'btcchange',
            aliases: ['bitcoinchange', 'cryptochange', 'btcc'],
            group: 'crypto',
            memberName: 'btcchange',
            description: 'Allows you to check the fluctuation in Bitcoin prices within a specified amount of time.',
            args: [
                {
                    key: 'timeAmount',
                    prompt: 'What time range do you want to check the fluction amount in? (day, hour, week)',
                    type: 'string',
                    default: 'USD'
                }
            ],
            throttling: {
                usages: 5,
                duration: 30
            },
            examples: [
                'uwu!btcchange day',
                'uwu!bitcoinchange hour',
                'uwu!cryptochange week',
                'uwu!btcc day'
            ],
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
			clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
        });
    }
    run(msg: CommandoMessage, { timeAmount }: any) {
        if (timeAmount == 'day') {
            return btc.getPercentageChangeLastDay().then(percentage => {
                return msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random());
            });
        } else if (timeAmount == 'hour') {
            return btc.getPercentageChangeLastHour().then(percentage => {
                return msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random());
            });
        } else if (timeAmount == 'week') {
            return btc.getPercentageChangeLastWeek().then(percentage => {
                return msg.reply('The fluction amount of *Bitcoin* in the last **' + timeAmount + '** is **' + percentage + '%**. ' + emoji.random());
            });
        } else {
            return msg.reply('*' + timeAmount + '* is not a valid range. ' + emoji.random());
        }
    }
};