Add Humble Bundle Command

This commit is contained in:
Daniel Odendahl Jr
2018-08-20 01:30:49 +00:00
parent ee8d6898b1
commit 72a521a2d2
3 changed files with 39 additions and 2 deletions
+36
View File
@@ -0,0 +1,36 @@
const Command = require('../../structures/Command');
const request = require('node-superfetch');
const { stripIndents } = require('common-tags');
module.exports = class HumbleBundleCommand extends Command {
constructor(client) {
super(client, {
name: 'humble-bundle',
aliases: ['humble'],
group: 'events',
memberName: 'humble-bundle',
description: 'Responds with the current Humble Bundle.'
});
}
async run(msg) {
try {
const { text } = await request.get('https://www.humblebundle.com/androidapp/v2/service_check');
const body = JSON.parse(text);
if (!body.length) return msg.say('There is no bundle right now...');
if (body.length > 1) {
return msg.say(stripIndents`
There are **${body.length}** bundles on right now!
${body.map(bundle => `**${bundle.bundle_name}**: <${bundle.bundle_url}>`).join('\n')}
`);
}
const data = body[0];
return msg.say(stripIndents`
The current bundle is **${data.bundle_name}**!
${data.bundle_url}
`);
} catch (err) {
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
}
};