
    i                         d Z ddlZddlmZmZ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e	          Z G d de	          Z G d de	          Z G d de	          ZdS )z=This module contains objects related to Telegram video chats.    N)TYPE_CHECKINGOptionalSequenceTuple)TelegramObject)User)parse_sequence_arg)extract_tzinfo_from_defaultsfrom_timestamp)JSONDict)Botc                   B     e Zd ZdZdZdddee         ddf fdZ x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                t    t                                          |           |                                  d S Nr   )super__init___freeze)selfr   	__class__s     Y/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_videochat.pyr   zVideoChatStarted.__init__-   s/    J///    )	__name__
__module____qualname____doc__	__slots__r   r   r   __classcell__r   s   @r   r   r   !   sn          I;?   hx&8 D          r   r   c                   F     e Zd ZdZdZdddedee         ddf fdZ x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        f| _        |                                  d S r   )r   r   r&   	_id_attrsr   )r   r&   r   r   s      r   r   zVideoChatEnded.__init__J   sD     	J///%-)r   )
r   r   r   r    r!   intr   r   r   r"   r#   s   @r   r%   r%   3   s~         ( I *.	
 
 

 X&	

 

 
 
 
 
 
 
 
 
 
r   r%   c                        e Zd ZdZdZdddee         dee         ddf fdZ	e
d	ee         d
dded          f fd            Z x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                    t                                          |           t          |          | _        | j        f| _        |                                  d S r   )r   r   r	   r,   r(   r   )r   r,   r   r   s      r   r   z%VideoChatParticipantsInvited.__init__r   sK     	J///'9%'@'@
*r   databotr   c                     |                      |          }|sdS t          j        |                    dg           |          |d<   t	                                          ||          S ),See :meth:`telegram.TelegramObject.de_json`.Nr,   r.   r/   )_parse_datar   de_listgetr   de_json)clsr.   r/   r   s      r   r6   z$VideoChatParticipantsInvited.de_json~   s`    
 t$$ 	4TXXgr%:%:C@@WwwDc222r   )r   r   r   r    r!   r   r   r   r   r   classmethodr6   r"   r#   s   @r   r+   r+   W   s         0 I *.	
 
 
~
 X&	

 

 
 
 
 
 
 
3H%
3,1
3	0	1
3 
3 
3 
3 
3 [
3 
3 
3 
3 
3r   r+   c                        e Zd ZdZdZdddej        dee         ddf fdZ	e
d	ee         d
dded          f fd            Z x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   r;   r   r   c                    t                                          |           || _        | j        f| _        |                                  d S r   )r   r   r;   r(   r   )r   r;   r   r   s      r   r   zVideoChatScheduled.__init__   sD     	J///(2/+r   r.   r/   r   c                     |                      |          }|sdS t          |          }t          |d         |          |d<   t                                          ||          S )r1   Nr;   )tzinfor2   )r3   r
   r   r   r6   )r7   r.   r/   
loc_tzinfor   s       r   r6   zVideoChatScheduled.de_json   sh     t$$ 	4 2#66
+D,>zRRR\wwDc222r   )r   r   r   r    r!   dtmdatetimer   r   r   r8   r6   r"   r#   s   @r   r:   r:      s         .  I *.	  L X&	
 
      38H- 3E 3hG[>\ 3 3 3 3 3 [3 3 3 3 3r   r:   )r    rA   r@   typingr   r   r   r   telegram._telegramobjectr   telegram._userr   telegram._utils.argumentparsingr	   telegram._utils.datetimer
   r   telegram._utils.typesr   telegramr   r   r%   r+   r:   r   r   r   <module>rI      sl  & D C     ; ; ; ; ; ; ; ; ; ; ; ; 3 3 3 3 3 3       > > > > > > Q Q Q Q Q Q Q Q * * * * * *     ~   $! ! ! ! !^ ! ! !H23 23 23 23 23> 23 23 23j43 43 43 43 43 43 43 43 43 43r   