From: CMDR furrycat Date: Wed, 21 Sep 2016 11:27:59 +0000 (+0100) Subject: Check RSS against the same number of messages that we might be posting. X-Git-Url: http://git.furryclan.net/?a=commitdiff_plain;h=0558ce86e3097069a225bb0d66292ae74e6f4781;p=furrycat%2Fcatbot.git Check RSS against the same number of messages that we might be posting. --- 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'])