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
|
# Convert newlines to HTML breaks AFTER adding reactions
|
||||||
processed_text = processed_text.replace('\n', '<br>')
|
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 {
|
return {
|
||||||
"id": message.id,
|
"id": message.id,
|
||||||
"date": message.date.isoformat(),
|
"date": message.date.isoformat(),
|
||||||
"text": processed_text,
|
"text": processed_text,
|
||||||
"views": message.views or 0,
|
"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:
|
async def _parse_media(self, media_obj) -> dict:
|
||||||
|
|||||||
Reference in New Issue
Block a user