woomy-v2/bot/commands/Fun/garfield.js

40 lines
No EOL
1.6 KiB
JavaScript

const fetch = require('node-fetch');
const Embed = require('../../util/embed');
module.exports = class {
constructor (name, category) {
this.name = name,
this.category = category,
this.enabled = true,
this.devOnly = false,
this.aliases = [],
this.userPerms = [],
this.botPerms = [],
this.cooldown = 2000,
this.help = {
description: 'Sends you a strip from the best comic ever',
usage: 'garfield <daily>',
examples: '`garfield` - sends a random garfield comic strip\n`garfield daily` - sends the daily strip'
};
}
run (client, message, args, data) { //eslint-disable-line no-unused-vars
let date = 'xxxx';
if (args[0] && args[0].toLowerCase() === 'daily') date = new Date();
message.channel.sendTyping();
try {
fetch('https://garfield-comics.glitch.me/~SRoMG/?date=' + date)
.then(res => res.json())
.then(json => {
const embed = new Embed()
.setTitle(`${json.data.name} (No. ${json.data.number})`)
.setColour(client.functions.displayHexColour(message.channel.guild, client.user.id))
.setURL('https://www.mezzacotta.net/garfield/?comic=' + json.data.number)
.setImage(json.data.image.src);
message.channel.createMessage({ embed: embed });
});
} catch (err) {
message.channel.send(`${client.constants.emojis.botError} An error has occurred: ${err}`);
}
}
};