
    ՟f                         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y)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                   <     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                F    t         |   |       | j                          y Nr   )super__init___freeze)selfr   	__class__s     N/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_videochat.pyr   zVideoChatStarted.__init__-   s    J/    )	__name__
__module____qualname____doc__	__slots__r   r   r   __classcell__r   s   @r   r   r   !   s/     I;? hx&8 D  r   r   c                   @     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                x    t         |   |       || _        | j                  f| _        | j	                          y r   )r   r   r&   	_id_attrsr   )r   r&   r   r   s      r   r   zVideoChatEnded.__init__J   s3     	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d	ee   d
e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| _        | j                          y r   )r   r   r	   r,   r(   r   )r   r,   r   r   s      r   r   z%VideoChatParticipantsInvited.__init__r   s7     	J/'9%'@
**r   databotr   c                     | j                  |      }|syt        j                  |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~   sK    
 t$TXXgr%:C@WwDc22r   N)r   r   r   r    r!   r   r   r   r   r   classmethodr6   r"   r#   s   @r   r+   r+   W   s|    0 I *.	
~
 X&	

 

 >B
3H%
3,4UO
3	0	1
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d	ee   d
e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                x    t         |   |       || _        | j                  f| _        | j	                          y r   )r   r   r<   r(   r   )r   r<   r   r   s      r   r   zVideoChatScheduled.__init__   s3     	J/(2//+r   r.   r/   r   c                     | j                  |      }|sy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   sN    
 t$ 2#6
+D,>zR\wDc22r   r8   )r   r   r   r    r!   dtmdatetimer   r   r   r9   r6   r"   r#   s   @r   r;   r;      s|    .  I *.	LL X&	
 
 >B3H%3,4UO3	&	'3 3r   r;   )r    rB   rA   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>rJ      s[   & D  ; ; 3  > Q *~ $!^ !H23> 23j63 63r   