import { Command, CommandoMessage } from 'discord.js-commando'; import emoji from 'emoji-random' import { stripIndents } from 'common-tags' import RSS from 'rss-parser' module.exports = class OnionFun extends Command { constructor(client) { super(client, { name: 'onion', aliases: ['theonion', 'the-onion'], group: 'fun', memberName: 'onion', description: 'Reples with a random Onion article.', examples: ['uwu!onion'], throttling: { usages: 5, duration: 30 }, userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'], }); } async run(msg: CommandoMessage) { const parser = new RSS() try { const feed = await parser.parseURL('https://www.theonion.com/rss') const article = feed.items[Math.floor(Math.random() * feed.items?.length)] return msg.reply(stripIndents` ${article.title} ${article.link} `) } catch (err) { return msg.reply(`Woops, an error has occurred: \`${err.message}\`. Try again later! ${emoji.random()}`); } } };