import asyncio
import datetime
-import hashlib
import math
import random
import re
logs = yield from client.logs_from(channel, limit = bot.get('message_limit'))
for message in logs:
raw = re.sub(r'^(<?@\S+\s)+', '', message.content).strip()
- if hashlib.sha224(raw.encode('utf-8')).hexdigest() == digest:
+ if bot.digest(raw) == digest:
log.debug('Saw previously posted announcement {} with digest {}'.format(announcement['id'], digest))
already_posted = True
break
else:
log.info('Posting announcement {} to {}: {}'.format(announcement['id'], channel, text))
message = yield from bot.say(channel, text)
- update['digest'] = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+ update['digest'] = bot.digest(message.content)
else:
if announcement['probability'] < 0:
log.info("Announcement {} is paused".format(announcement['id']))
import bs4
import discord
import feedparser
-import hashlib
import json
import logging
import multiprocessing
digests = []
logs = yield from client.logs_from(channel, limit = limit)
for message in logs:
- digest = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+ digest = bot.digest(message.content)
log.debug('Saw previously posted RSS with digest {}'.format(digest))
if digest not in digests:
digests.append(digest)
if feed['summary']:
formatted += '\n{}'.format(''.join(bs4.BeautifulSoup(entry['summary'], 'html.parser').findAll(text = True)))
formatted = formatted.strip()
- digest = hashlib.sha224(formatted.encode('utf-8')).hexdigest()
+ digest = bot.digest(formatted)
if digest in digests:
log.debug("Already posted RSS with digest {}".format(digest))
continue
else:
log.info('Posting to {}: {}'.format(channel, formatted))
message = yield from bot.say(channel, formatted)
- digest = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+ digest = bot.digest(message.content)
digests.append(digest)
log.debug('Posted RSS with digest {}'.format(digest))
except: