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()); } } };