From 0558ce86e3097069a225bb0d66292ae74e6f4781 Mon Sep 17 00:00:00 2001 From: CMDR furrycat Date: Wed, 21 Sep 2016 12:27:59 +0100 Subject: [PATCH] Check RSS against the same number of messages that we might be posting. --- bot.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bot.py b/bot.py index 5fee881..771c13a 100755 --- a/bot.py +++ b/bot.py @@ -204,17 +204,18 @@ def do_rss(feed): summary = feed['summary'] if 'summary' in feed else False channel = client.get_channel(str(feed['channel'])) url = feed['url'] - # Complain if no read_message_history - # Set permissions! + d = feedparser.parse(url) + d.entries.reverse() + limit = len(d.entries) + if not limit: + limit = 100 digests = [] - logs = yield from client.logs_from(channel) + logs = yield from client.logs_from(channel, limit = limit) for message in logs: digest = hashlib.sha224(message.content.encode('utf-8')).hexdigest() log.debug('Saw previously posted RSS with digest {}'.format(digest)) if digest not in digests: digests.append(digest) - d = feedparser.parse(url) - d.entries.reverse() for entry in d.entries: formatted = '*{}*\n'.format(entry['published']) if date else '' formatted += '**{}**\n{}'.format(entry['title'], entry['links'][0]['href']) -- 2.7.4