Added user ID tracking to content tables and ingest-only CLI mode.
CI / Formatting (push) Successful in 10s
CI / Linting (push) Successful in 10s
CI / Tests (push) Successful in 15s
CI / Type Checking (push) Successful in 21s

This commit is contained in:
2026-02-18 15:08:01 -05:00
parent 534309325b
commit fb92bc6766
6 changed files with 85 additions and 40 deletions
+10 -6
View File
@@ -136,27 +136,31 @@ async def ingest_message(db: Database, message: discord.Message) -> None:
return
channel_id = message.channel.id
user_id = message.author.id
if message.content:
await markov.ingest(db, channel_id, message.content)
await markov.ingest(db, channel_id, user_id, message.content)
for embed in message.embeds:
await _ingest_embed(db, channel_id, embed)
await _ingest_embed(db, channel_id, user_id, embed)
async def _ingest_embed(db: Database, channel_id: int, embed: discord.Embed) -> None:
async def _ingest_embed(
db: Database, channel_id: int, user_id: int, embed: discord.Embed
) -> None:
"""
Ingests a given embed into a given channel's Markov chain.
:param db: The database instance.
:param channel_id: The ID of the channel to use for the Markov chain.
:param user_id: The Discord user ID of the contributor.
:param embed: The embed to ingest.
"""
if embed.title:
await markov.ingest(db, channel_id, embed.title)
await markov.ingest(db, channel_id, user_id, embed.title)
if embed.description:
await markov.ingest(db, channel_id, embed.description)
await markov.ingest(db, channel_id, user_id, embed.description)
if embed.image and embed.image.url:
await db.add_image(channel_id, embed.image.url)
await db.add_image(channel_id, user_id, embed.image.url)