aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2024-09-10 16:29:52 +0100
committerGravatar Joe Banks <[email protected]>2024-09-10 17:02:58 +0100
commit26be8e64d10016444ddebc58d86b622ffdec522a (patch)
tree11b0664dec8d56594006955487c47bf773450c71
parentAdd 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.py9
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: