/**
* Ask butlerbot to send a meme from one of the subreddits.
* @module meme
* @return {Object} - image (as a message to discord text channel)
*/
const randomPuppy = require('random-puppy');
module.exports = {
name: 'meme',
description: 'Get a top meme from Reddit.',
cooldown: 1,
aliases: ['memes'],
/**
* @method execute
* @param {string} message - command, used to determine which channel to return results
* @return {string} results of advice api call
*/
execute(message) {
/**
* @var {Object} reddit
* @summary list of subreddits to potentially choose from
*/
let reddit = [
"memes",
"dankmemes",
"latestagecapitalism",
"badphilosophy"
];
/**
* @var {string} subreddit
* @summary randomly selected subreddit
*/
let subreddit = reddit[Math.floor(Math.random() * reddit.length)];
/**
* @function apiImageCrawl
* @async
* @param {string} sreddit - selected subreddit to crawl through
* @return {Object} meme.png image
* @summary Crawl through selected subreddit and choose one image
*/
function apiImageCrawl(sreddit) {
message.channel.startTyping();
randomPuppy(sreddit).then(async url => {
await message.channel.send({
files: [{
attachment: url,
name: 'meme.png'
}]
}).then(message.channel.stopTyping(true));
}).catch(err => console.error(err));
}
apiImageCrawl(subreddit);
}
};