now work with multiple usernames

This commit is contained in:
Phixxy 2025-01-01 18:28:45 -08:00
parent 1ae4b47391
commit 7eee640b17

View file

@ -7,17 +7,20 @@ class RSSCog(BotBaseCog):
def __init__(self, bot): def __init__(self, bot):
super().__init__(bot) super().__init__(bot)
self.setup(__class__.__name__) self.setup(__class__.__name__)
self.rss_url = 'https://secure.runescape.com/m=adventurers-log/rssfeed?searchName=Frozener' self.rss_base_url = 'https://secure.runescape.com/m=adventurers-log/rssfeed?searchName='
self.last_item = None self.usernames = ['Deadifyed', 'Frozener']
self.last_items = {'Deadifyed':None, 'Frozener':None}
self.check_rss.start() self.check_rss.start()
@tasks.loop(minutes=1) @tasks.loop(minutes=1)
async def check_rss(self): async def check_rss(self):
feed = feedparser.parse(self.rss_url) for name in self.usernames:
rss_url = self.rss_base_url + name
feed = feedparser.parse(rss_url)
latest_item = feed.entries[0] if feed.entries else None latest_item = feed.entries[0] if feed.entries else None
if latest_item and latest_item.title != self.last_item: if latest_item and latest_item.title != self.last_items[name]:
self.last_item = latest_item.title self.last_items[name] = latest_item.title
channel = self.bot.get_channel(895388842834673696) channel = self.bot.get_channel(895388842834673696)
await channel.send(f"New RSS Item: {latest_item.title} - {latest_item.link}") await channel.send(f"New RSS Item: {latest_item.title} - {latest_item.link}")