
    YPiP                     v    d Z ddlZddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZmZ  G d	 d
e      Zy)zDThis module contains an object that represents a Telegram Animation.    N)OptionalUnion)_BaseThumbedMedium)	PhotoSize)to_timedelta)get_timedelta_value)JSONDict
TimePeriodc                        e Zd ZdZdZ	 	 	 	 ddddedededed	ed
ee   dee   dee   dee	   dee
   f fdZedeeej                  f   fd       Z xZS )	Animationa	  This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`file_unique_id` is equal.

    .. versionchanged:: 20.5
      |removed_thumb_note|

    Args:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        width (:obj:`int`): Video width as defined by the sender.
        height (:obj:`int`): Video height as defined by the sender.
        duration (:obj:`int` | :class:`datetime.timedelta`, optional): Duration of the video
            in seconds as defined by the sender.

            .. versionchanged:: v22.2
                |time-period-input|
        file_name (:obj:`str`, optional): Original animation filename as defined by the sender.
        mime_type (:obj:`str`, optional): MIME type of the file as defined by the sender.
        file_size (:obj:`int`, optional): File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`, optional): Animation thumbnail as defined by
            sender.

            .. versionadded:: 20.2

    Attributes:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        width (:obj:`int`): Video width as defined by the sender.
        height (:obj:`int`): Video height as defined by the sender.
        duration (:obj:`int` | :class:`datetime.timedelta`): Duration of the video in seconds
            as defined by the sender.

            .. deprecated:: v22.2
                |time-period-int-deprecated|
        file_name (:obj:`str`): Optional. Original animation filename as defined by the sender.
        mime_type (:obj:`str`): Optional. MIME type of the file as defined by the sender.
        file_size (:obj:`int`): Optional. File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`): Optional. Animation thumbnail as defined by
            sender.

            .. versionadded:: 20.2

    )	_duration	file_nameheight	mime_typewidthN)
api_kwargsfile_idfile_unique_idr   r   durationr   r   	file_size	thumbnailr   c
                    t         |   ||||
|	       | j                         5  || _        || _        t        |      | _        || _        || _        d d d        y # 1 sw Y   y xY w)N)r   r   r   r   r   )	super__init__	_unfrozenr   r   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   	__class__s              O/root/twitch_bot/venv/lib/python3.12/site-packages/telegram/_files/animation.pyr   zAnimation.__init__V   so     	)! 	 	
 ^^ 	6#DJ%DK,8,BDN,5DN,5DN	6 	6 	6s   -AA%returnc                 0    t        | j                  d      S )Nr   )	attribute)r   r   )r   s    r   r   zAnimation.durationt   s    "NNj
 	
    )NNNN)__name__
__module____qualname____doc__	__slots__strintr
   r   r   r	   r   propertyr   dtm	timedeltar   __classcell__)r   s   @r   r   r      s    2h KI $(#'#')-6 *.66 6 	6
 6 6 C=6 C=6 C=6 I&6 X&6< 
%S]] 23 
 
r"   r   )r&   datetimer+   typingr   r   "telegram._files._basethumbedmediumr   telegram._files.photosizer   telegram._utils.argumentparsingr   telegram._utils.datetimer   telegram._utils.typesr	   r
   r    r"   r   <module>r6      s/   & K  " A / 8 8 6Y
" Y
r"   