o
    f>h<  ã                   @   s¼   d Z ddlZddlm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mZ dd	lmZ er<dd
lmZ G dd„ de	ƒZG dd„ de	ƒZG dd„ de	ƒZG dd„ de	ƒZdS )z=This module contains objects related to Telegram video chats.é    N)ÚSequence)ÚTYPE_CHECKINGÚOptional)ÚTelegramObject)ÚUser)Úparse_sequence_arg)Úextract_tzinfo_from_defaultsÚfrom_timestamp)ÚJSONDict)ÚBotc                       s8   e Zd ZdZdZddœdee ddf‡ fdd„Z‡  ZS )	ÚVideoChatStarteda  
    This object represents a service message about a video
    chat started in the chat. Currently holds no information.

    .. versionadded:: 13.4
    .. versionchanged:: 20.0
        This class was renamed from ``VoiceChatStarted`` in accordance to Bot API 6.0.
    © N©Ú
api_kwargsr   Úreturnc                   s   t ƒ j|d |  ¡  d S ©Nr   )ÚsuperÚ__init__Ú_freeze)Úselfr   ©Ú	__class__r   úF/var/www/html/venv/lib/python3.10/site-packages/telegram/_videochat.pyr   .   s   zVideoChatStarted.__init__)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r
   r   Ú__classcell__r   r   r   r   r   "   s    	(r   c                       s<   e Zd ZdZdZddœdedee ddf‡ fdd	„Z‡  Z	S )
ÚVideoChatEndeda"  
    This object represents a service message about a
    video chat ended in the chat.

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

    .. versionadded:: 13.4
    .. versionchanged:: 20.0
        This class was renamed from ``VoiceChatEnded`` in accordance to Bot API 6.0.

    Args:
        duration (:obj:`int`): Voice chat duration in seconds.

    Attributes:
        duration (:obj:`int`): Voice chat duration in seconds.

    )ÚdurationNr   r    r   r   c                   ó*   t ƒ j|d || _| jf| _|  ¡  d S r   )r   r   r    Ú	_id_attrsr   )r   r    r   r   r   r   r   K   s   
zVideoChatEnded.__init__)
r   r   r   r   r   Úintr   r
   r   r   r   r   r   r   r   4   s    üþüûr   c                       sf   e Zd ZdZdZddœdee dee ddf‡ fdd	„Z	e
	dd
eded dd f‡ fdd„ƒZ‡  ZS )ÚVideoChatParticipantsInviteda  
    This object represents a service message about new members invited to a video chat.

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

    .. versionadded:: 13.4
    .. versionchanged:: 20.0
        This class was renamed from ``VoiceChatParticipantsInvited`` in accordance to Bot API 6.0.

    Args:
        users (Sequence[:class:`telegram.User`]): New members that were invited to the video chat.

            .. versionchanged:: 20.0
                |sequenceclassargs|

    Attributes:
        users (tuple[:class:`telegram.User`]): New members that were invited to the video chat.

            .. versionchanged:: 20.0
                |tupleclassattrs|

    )ÚusersNr   r%   r   r   c                   s.   t ƒ j|d t|ƒ| _| jf| _|  ¡  d S r   )r   r   r   r%   r"   r   )r   r%   r   r   r   r   r   s   s   

z%VideoChatParticipantsInvited.__init__ÚdataÚbotr   c                    s2   |   |¡}t | dg ¡|¡|d< tƒ j||dS )ú,See :meth:`telegram.TelegramObject.de_json`.r%   ©r&   r'   )Ú_parse_datar   Úde_listÚgetr   Úde_json)Úclsr&   r'   r   r   r   r-      s   
z$VideoChatParticipantsInvited.de_json©N)r   r   r   r   r   r   r   r   r
   r   Úclassmethodr-   r   r   r   r   r   r$   X   s(    üþüûÿÿÿþr$   c                       sb   e Zd ZdZdZddœdejdee ddf‡ fdd	„Z	e
dd
eded dd f‡ fdd„ƒZ‡  ZS )ÚVideoChatScheduledaa  This object represents a service message about a video chat scheduled in the chat.

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

    .. versionchanged:: 20.0
        This class was renamed from ``VoiceChatScheduled`` in accordance to Bot API 6.0.

    Args:
        start_date (:obj:`datetime.datetime`): Point in time (Unix timestamp) when the video
            chat is supposed to be started by a chat administrator

            .. versionchanged:: 20.3
                |datetime_localization|
    Attributes:
        start_date (:obj:`datetime.datetime`): Point in time (Unix timestamp) when the video
            chat is supposed to be started by a chat administrator

            .. versionchanged:: 20.3
                |datetime_localization|

    )Ú
start_dateNr   r2   r   r   c                   r!   r   )r   r   r2   r"   r   )r   r2   r   r   r   r   r   ¤   s   
zVideoChatScheduled.__init__r&   r'   r   c                    s8   |   |¡}t|ƒ}t| d¡|d|d< tƒ j||dS )r(   r2   )Útzinfor)   )r*   r   r	   r,   r   r-   )r.   r&   r'   Ú
loc_tzinfor   r   r   r-   ±   s   
zVideoChatScheduled.de_jsonr/   )r   r   r   r   r   ÚdtmÚdatetimer   r
   r   r0   r-   r   r   r   r   r   r1   Š   s    üþüû*r1   )r   r6   r5   Úcollections.abcr   Útypingr   r   Útelegram._telegramobjectr   Útelegram._userr   Útelegram._utils.argumentparsingr   Útelegram._utils.datetimer   r	   Útelegram._utils.typesr
   Útelegramr   r   r   r$   r1   r   r   r   r   Ú<module>   s   $2