diff options
author | 2024-09-10 16:29:52 +0100 | |
---|---|---|
committer | 2024-09-10 17:02:58 +0100 | |
commit | 26be8e64d10016444ddebc58d86b622ffdec522a (patch) | |
tree | 11b0664dec8d56594006955487c47bf773450c71 | |
parent | Add content_hash field to Message model (diff) |
Generate MD5 hash of content when adding to database
-rw-r--r-- | metricity/exts/event_listeners/_syncer_utils.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/metricity/exts/event_listeners/_syncer_utils.py b/metricity/exts/event_listeners/_syncer_utils.py index 043f1d1..f6b9f88 100644 --- a/metricity/exts/event_listeners/_syncer_utils.py +++ b/metricity/exts/event_listeners/_syncer_utils.py @@ -1,3 +1,6 @@ +import binascii +import hashlib + import discord from pydis_core.utils import logging from sqlalchemy import update @@ -30,11 +33,17 @@ async def sync_message(message: discord.Message, sess: AsyncSession, *, from_thr if await sess.get(models.Message, str(message.id)): return + hash_ctx = hashlib.md5() # noqa: S324 + hash_ctx.update(message.content.encode()) + digest = hash_ctx.digest() + digest_encoded = binascii.hexlify(digest).decode() + args = { "id": str(message.id), "channel_id": str(message.channel.id), "author_id": str(message.author.id), "created_at": message.created_at, + "content_hash": digest_encoded, } if from_thread: |