diff --git a/pyrogram/client/types/messages_and_media/animation.py b/pyrogram/client/types/messages_and_media/animation.py index a8641e9e..0e36d5cf 100644 --- a/pyrogram/client/types/messages_and_media/animation.py +++ b/pyrogram/client/types/messages_and_media/animation.py @@ -16,7 +16,12 @@ # You should have received a copy of the GNU Lesser General Public License # along with Pyrogram. If not, see . +from struct import pack + +from pyrogram.api import types from pyrogram.api.core import Object +from .photo_size import PhotoSize +from ...ext.utils import encode class Animation(Object): @@ -53,18 +58,9 @@ class Animation(Object): ID = 0xb0700025 - def __init__( - self, - file_id: str, - width: int, - height: int, - duration: int, - thumb=None, - file_name: str = None, - mime_type: str = None, - file_size: int = None, - date: int = None - ): + def __init__(self, file_id: str, width: int, height: int, duration: int, *, + thumb=None, file_name: str = None, mime_type: str = None, file_size: int = None, date: int = None, + client=None, raw=None): self.file_id = file_id self.thumb = thumb self.file_name = file_name @@ -74,3 +70,31 @@ class Animation(Object): self.width = width self.height = height self.duration = duration + + self._client = client + self._raw = raw + + @staticmethod + def parse(client, animation: types.Document, video_attributes: types.DocumentAttributeVideo, + file_name: str) -> "Animation": + return Animation( + file_id=encode( + pack( + ". +from struct import pack + +from pyrogram.api import types from pyrogram.api.core import Object +from .photo_size import PhotoSize +from ...ext.utils import encode class Video(Object): @@ -53,18 +58,9 @@ class Video(Object): ID = 0xb0700008 - def __init__( - self, - file_id: str, - width: int, - height: int, - duration: int, - thumb=None, - file_name: str = None, - mime_type: str = None, - file_size: int = None, - date: int = None - ): + def __init__(self, file_id: str, width: int, height: int, duration: int, *, + thumb=None, file_name: str = None, mime_type: str = None, file_size: int = None, date: int = None, + client=None, raw=None): self.file_id = file_id self.thumb = thumb self.file_name = file_name @@ -74,3 +70,28 @@ class Video(Object): self.width = width self.height = height self.duration = duration + + self._client = client + self._raw = raw + + @staticmethod + def parse(client, video: types.Document, video_attributes: types.DocumentAttributeVideo, file_name: str) -> "Video": + return Video( + file_id=encode( + pack( + ". +from struct import pack + +from pyrogram.api import types from pyrogram.api.core import Object +from .photo_size import PhotoSize +from ...ext.utils import encode class VideoNote(Object): @@ -47,16 +52,9 @@ class VideoNote(Object): ID = 0xb0700010 - def __init__( - self, - file_id: str, - length: int, - duration: int, - thumb=None, - mime_type: str = None, - file_size: int = None, - date: int = None - ): + def __init__(self, file_id: str, length: int, duration: int, *, + thumb=None, mime_type: str = None, file_size: int = None, date: int = None, + client=None, raw=None): self.file_id = file_id self.thumb = thumb self.mime_type = mime_type @@ -64,3 +62,26 @@ class VideoNote(Object): self.date = date self.length = length self.duration = duration + + self._client = client + self._raw = raw + + @staticmethod + def parse(client, video_note: types.Document, video_attributes: types.DocumentAttributeVideo) -> "VideoNote": + return VideoNote( + file_id=encode( + pack( + "