diff --git a/pyrogram/client/client.py b/pyrogram/client/client.py index 8b8f58f3..5cb003b6 100644 --- a/pyrogram/client/client.py +++ b/pyrogram/client/client.py @@ -1064,6 +1064,7 @@ class Client(Methods, BaseClient): access_hash=data.access_hash, thumb_size=data.thumb_size, peer_id=data.peer_id, + peer_access_hash=data.peer_access_hash, volume_id=data.volume_id, local_id=data.local_id, file_size=data.file_size, @@ -1708,6 +1709,7 @@ class Client(Methods, BaseClient): access_hash: int, thumb_size: str, peer_id: int, + peer_access_hash: int, volume_id: int, local_id: int, file_size: int, @@ -1752,7 +1754,10 @@ class Client(Methods, BaseClient): if media_type == 1: location = types.InputPeerPhotoFileLocation( - peer=self.resolve_peer(peer_id), + peer=types.InputPeerUser( + user_id=peer_id, + access_hash=peer_access_hash + ), volume_id=volume_id, local_id=local_id, big=is_big or None diff --git a/pyrogram/client/ext/file_data.py b/pyrogram/client/ext/file_data.py index 9a19cd5d..ad1da9b6 100644 --- a/pyrogram/client/ext/file_data.py +++ b/pyrogram/client/ext/file_data.py @@ -20,8 +20,9 @@ class FileData: def __init__( self, *, media_type: int = None, dc_id: int = None, document_id: int = None, access_hash: int = None, - thumb_size: str = None, peer_id: int = None, volume_id: int = None, local_id: int = None, is_big: bool = None, - file_size: int = None, mime_type: str = None, file_name: str = None, date: int = None + thumb_size: str = None, peer_id: int = None, peer_access_hash: int = None, volume_id: int = None, + local_id: int = None, is_big: bool = None, file_size: int = None, mime_type: str = None, file_name: str = None, + date: int = None ): self.media_type = media_type self.dc_id = dc_id @@ -29,6 +30,7 @@ class FileData: self.access_hash = access_hash self.thumb_size = thumb_size self.peer_id = peer_id + self.peer_access_hash = peer_access_hash self.volume_id = volume_id self.local_id = local_id self.is_big = is_big diff --git a/pyrogram/client/ext/utils.py b/pyrogram/client/ext/utils.py index cdc0684c..39031adf 100644 --- a/pyrogram/client/ext/utils.py +++ b/pyrogram/client/ext/utils.py @@ -104,8 +104,8 @@ def get_input_media_from_file_id( raise ValueError("This file_id can only be used for download: {}".format(file_id_str)) if media_type == 2: - unpacked = struct.unpack(" Union[List[Union[StrippedThumbnail, "Thumbnail"]], None]: if isinstance(media, types.Photo): raw_thumbnails = media.sizes[:-1] - media_type = 0 + media_type = 2 elif isinstance(media, types.Document): raw_thumbnails = media.thumbs media_type = 14 @@ -87,10 +87,10 @@ class Thumbnail(Object): Thumbnail( file_id=encode( pack( - "