Add author information extraction to Telegram message parsing
This commit is contained in:
+17
-1
@@ -159,12 +159,28 @@ class TelegramClient:
|
||||
# Convert newlines to HTML breaks AFTER adding reactions
|
||||
processed_text = processed_text.replace('\n', '<br>')
|
||||
|
||||
# Extract author information
|
||||
author_str = ""
|
||||
if message.sender_chat:
|
||||
title = getattr(message.sender_chat, "title", "").strip()
|
||||
username = getattr(message.sender_chat, "username", "").strip()
|
||||
author_str = f"{title} by @{username}" if username else title
|
||||
elif message.from_user:
|
||||
first = getattr(message.from_user, "first_name", "").strip()
|
||||
last = getattr(message.from_user, "last_name", "").strip()
|
||||
username = getattr(message.from_user, "username", "").strip()
|
||||
name = " ".join(filter(None, [first, last]))
|
||||
author_str = f"{name} by @{username}" if username else name
|
||||
else:
|
||||
author_str = "Unknown author"
|
||||
|
||||
return {
|
||||
"id": message.id,
|
||||
"date": message.date.isoformat(),
|
||||
"text": processed_text,
|
||||
"views": message.views or 0,
|
||||
"media_group_id": message.media_group_id
|
||||
"media_group_id": message.media_group_id,
|
||||
"author": author_str
|
||||
}
|
||||
|
||||
async def _parse_media(self, media_obj) -> dict:
|
||||
|
||||
Reference in New Issue
Block a user