o
    "h1                     @   sp   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
 d
eZdS )zDThis module contains an object that represents a Telegram VideoNote.    N)OptionalUnion)_BaseThumbedMedium)	PhotoSize)to_timedelta)get_timedelta_value)JSONDict
TimePeriodc                       sv   e Zd ZdZdZ		ddddedededed	ee d
ee	 dee
 f fddZedeeejf fddZ  ZS )	VideoNotea  This object represents a video message (available in Telegram apps as of v.4.0).

    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.
        length (:obj:`int`): Video width and height (diameter of the video message) as defined
            by sender.
        duration (:obj:`int` | :class:`datetime.timedelta`): Duration of the video in
            seconds as defined by the sender.

            .. versionchanged:: v22.2
                |time-period-input|
        file_size (:obj:`int`, optional): File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`, optional): Video thumbnail.

            .. 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.
        length (:obj:`int`): Video width and height (diameter of the video message) as defined
            by 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_size (:obj:`int`): Optional. File size in bytes.
        thumbnail (:class:`telegram.PhotoSize`): Optional. Video thumbnail.

            .. versionadded:: 20.2

    )	_durationlengthN)
api_kwargsfile_idfile_unique_idr   duration	file_size	thumbnailr   c                   sT   t  j|||||d |   || _t|| _W d    d S 1 s#w   Y  d S )N)r   r   r   r   r   )super__init__	_unfrozenr   r   r   )selfr   r   r   r   r   r   r   	__class__ L/var/www/html/venv/lib/python3.10/site-packages/telegram/_files/videonote.pyr   P   s   
"zVideoNote.__init__returnc                 C   s   t | jddS )Nr   )	attribute)r   r   )r   r   r   r   r   g   s   zVideoNote.duration)NN)__name__
__module____qualname____doc__	__slots__strintr	   r   r   r   r   propertyr   dtm	timedeltar   __classcell__r   r   r   r   r
      s0    .		"r
   )r    datetimer%   typingr   r   "telegram._files._basethumbedmediumr   telegram._files.photosizer   telegram._utils.argumentparsingr   telegram._utils.datetimer   telegram._utils.typesr   r	   r
   r   r   r   r   <module>   s   