diff options
Diffstat (limited to 'src/commands/utility/average.ts')
| -rw-r--r-- | src/commands/utility/average.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/commands/utility/average.ts b/src/commands/utility/average.ts new file mode 100644 index 0000000..51ac9e6 --- /dev/null +++ b/src/commands/utility/average.ts @@ -0,0 +1,43 @@ +import { Command, CommandoMessage } from 'discord.js-commando'; +import emoji from 'emoji-random' +import { formatDistance, formatRelative } from 'date-fns' +import { stripIndents } from 'common-tags' + +module.exports = class AverageUtility extends Command { + constructor(client) { + super(client, { + name: 'average', + aliases: [ + 'average-number', + 'averagenumber', + 'average-num', + 'averagenum' + ], + group: 'utility', + memberName: 'average', + description: 'Gets the average of specified numbers.', + examples: ['uwu!average 10 20 30 40 50'], + throttling: { + usages: 5, + duration: 30 + }, + userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], + args: [ + { + key: 'nNum', + prompt: 'What\'s another number you would like to average?', + type: 'float', + label: 'number', + infinite: true + } + ] + }); + } + async run(msg: CommandoMessage, { nNum }) { + if (nNum.length < 2) msg.reply('Please provide **2** or more numbers.') + + const reducer = (accumulator, currentValue) => accumulator + currentValue + msg.reply(`The average of the specified numbers is ${nNum.reduce(reducer) / nNum.length}.` + ' ' + emoji.random()) + } +};
\ No newline at end of file |