const SubredditCommand = require('../../structures/commands/Subreddit'); const { MessageEmbed } = require('discord.js'); const { list, formatNumber } = require('../../util/Util'); const subreddits = require('../../assets/json/meme'); module.exports = class MemeCommand extends SubredditCommand { constructor(client) { super(client, { name: 'meme', group: 'random', memberName: 'meme', description: 'Responds with a random meme.', details: `**Subreddits:** ${subreddits.join(', ')}`, clientPermissions: ['ATTACH_FILES'], postType: 'image', args: [ { key: 'subreddit', prompt: `What subreddit do you want to get memes from? Either ${list(subreddits, 'or')}.`, type: 'string', oneOf: subreddits, default: () => subreddits[Math.floor(Math.random() * subreddits.length)], parse: subreddit => subreddit.toLowerCase() } ] }); } generateText(post, subreddit) { return new MessageEmbed() .setColor(0xFF4500) .setAuthor(`r/${subreddit}`, 'https://i.imgur.com/DSBOK0P.png', `https://www.reddit.com/r/${subreddit}/`) .setTitle(post.title) .setImage(post.post_hint === 'image' ? post.url : null) .setURL(`https://www.reddit.com${post.permalink}`) .setTimestamp(post.created_utc * 1000) .setFooter(`⬆ ${formatNumber(post.ups)}`); } };