Reduce duplicate code in subreddit commands

This commit is contained in:
Dragon Fire
2020-06-08 16:15:19 -04:00
parent 7ff1de7539
commit 5d6557ff76
7 changed files with 22 additions and 51 deletions
+13
View File
@@ -1,5 +1,7 @@
const request = require('node-superfetch');
const Command = require('../Command');
const { MessageEmbed } = require('discord.js');
const { formatNumberK, shorten } = require('../../util/Util');
module.exports = class SubredditCommand extends Command {
constructor(client, info) {
@@ -34,6 +36,17 @@ module.exports = class SubredditCommand extends Command {
throw new Error('The generateText method is required.');
}
makeEmbed(post, subreddit, icon) {
return new MessageEmbed()
.setColor(0xFF4500)
.setAuthor(`r/${subreddit}`, icon, `https://www.reddit.com/r/${subreddit}/`)
.setTitle(shorten(post.title, 256))
.setImage(post.post_hint === 'image' ? post.url : null)
.setURL(`https://www.reddit.com${post.permalink}`)
.setTimestamp(post.created_utc * 1000)
.setFooter(`${formatNumberK(post.ups)}`);
}
async random(subreddit, nsfw) {
let icon = null;
const { body } = await request