Commit 59707bf
Changed files (2)
src
messages
src/messages/parser.py
@@ -41,14 +41,18 @@ def parse_msg(message: Message, *, silent: bool = False, verbose: bool = False)
handle = message.from_user.username if message.from_user and message.from_user.username else ""
full_name = f"{first_name} {last_name}".strip() if message.from_user else ""
- # parse media attributes
+ # parse media attributes. for photo, we should use `sizes[-1]`. ref: TelegramPlayground/pyrogram @1ea5e797f920776bfeecf985a51dc03ff22906af
media = getattr(message, mtype) if hasattr(message, mtype) else Audio(file_id="", file_unique_id="", duration=0) # placeholder
- file_id = media.file_id if hasattr(media, "file_id") and media.file_id else ""
+ if mtype == "photo":
+ file_id = message.photo.sizes[-1].file_id or ""
+ file_size = message.photo.sizes[-1].file_size or 0
+ else:
+ file_id = media.file_id if hasattr(media, "file_id") and media.file_id else ""
+ file_size = media.file_size if hasattr(media, "file_size") and media.file_size else 0
+
file_name = media.file_name if hasattr(media, "file_name") and media.file_name else ""
mime_type = media.mime_type if hasattr(media, "mime_type") and media.mime_type else ""
- file_size = media.file_size if hasattr(media, "file_size") and media.file_size else 0
duration = media.duration if hasattr(media, "duration") and media.duration else 0
-
# Parse URL from message entities
entity_urls = []
if message.entities:
pyproject.toml
@@ -12,7 +12,7 @@ dependencies = [
"pillow-heif>=0.18.0",
"pillow>=10.4.0",
"puremagic>=1.28",
- "pyrotgfork>=2.2.8",
+ "pyrotgfork>=2.2.10",
"pysocks>=1.7.1",
"pytgcrypto>=1.2.9.2",
"python-ffmpeg>=2.0.12",