diff --git a/pyrogram/client/utils.py b/pyrogram/client/utils.py index fa5ff41a..b47f81b5 100644 --- a/pyrogram/client/utils.py +++ b/pyrogram/client/utils.py @@ -1,4 +1,5 @@ from base64 import b64encode, b64decode +from struct import pack import pyrogram from pyrogram.api import types @@ -103,6 +104,45 @@ def parse_message(message: types.Message, users: dict, chats: dict): forward_from_message_id = forward_header.channel_post forward_signature = forward_header.post_author + photo = None + + media = message.media + + if media: + if isinstance(media, types.MessageMediaPhoto): + photo = media.photo + + if isinstance(photo, types.Photo): + sizes = photo.sizes + photo_sizes = [] + + for size in sizes: + if isinstance(size, (types.PhotoSize, types.PhotoCachedSize)): + location = size.location + + if isinstance(location, types.FileLocation): + photo_size = pyrogram.PhotoSize( + file_id=encode( + pack( + "