
    i(                         d Z ddlm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mZ ddlmZ erddlmZ  G d	 d
e          ZdS )zFThis module contains an object that represents a Telegram WebhookInfo.    )datetime)TYPE_CHECKINGOptionalSequenceTuple)TelegramObject)parse_sequence_arg)extract_tzinfo_from_defaultsfrom_timestamp)JSONDict)Botc                       e Zd ZdZdZ	 	 	 	 	 	 ddddedededee	         d	ee         d
ee         dee
e                  dee         dee	         dee         f fdZedee         ddded          f fd            Z xZS )WebhookInfoa5  This object represents a Telegram WebhookInfo.

    Contains information about the current status of a webhook.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`url`, :attr:`has_custom_certificate`,
    :attr:`pending_update_count`, :attr:`ip_address`, :attr:`last_error_date`,
    :attr:`last_error_message`, :attr:`max_connections`, :attr:`allowed_updates` and
    :attr:`last_synchronization_error_date` are equal.

    .. versionchanged:: 20.0
       :attr:`last_synchronization_error_date` is considered as well when comparing objects of
       this type in terms of equality.

    Args:
        url (:obj:`str`): Webhook URL, may be empty if webhook is not set up.
        has_custom_certificate (:obj:`bool`): :obj:`True`, if a custom certificate was provided for
            webhook certificate checks.
        pending_update_count (:obj:`int`): Number of updates awaiting delivery.
        ip_address (:obj:`str`, optional): Currently used webhook IP address.
        last_error_date (:class:`datetime.datetime`): Optional. Datetime for the most recent
            error that happened when trying to deliver an update via webhook.

            .. versionchanged:: 20.3
                |datetime_localization|
        last_error_message (:obj:`str`, optional): Error message in human-readable format for the
            most recent error that happened when trying to deliver an update via webhook.
        max_connections (:obj:`int`, optional): Maximum allowed number of simultaneous HTTPS
            connections to the webhook for update delivery.
        allowed_updates (Sequence[:obj:`str`], optional): A list of update types the bot is
            subscribed to. Defaults to all update types, except
            :attr:`telegram.Update.chat_member`.

            .. versionchanged:: 20.0
                |sequenceclassargs|

        last_synchronization_error_date (:class:`datetime.datetime`, optional): Datetime of the
            most recent error that happened when trying to synchronize available updates with
            Telegram datacenters.

            .. versionadded:: 20.0

            .. versionchanged:: 20.3
                |datetime_localization|
    Attributes:
        url (:obj:`str`): Webhook URL, may be empty if webhook is not set up.
        has_custom_certificate (:obj:`bool`): :obj:`True`, if a custom certificate was provided for
            webhook certificate checks.
        pending_update_count (:obj:`int`): Number of updates awaiting delivery.
        ip_address (:obj:`str`): Optional. Currently used webhook IP address.
        last_error_date (:class:`datetime.datetime`): Optional. Datetime for the most recent
            error that happened when trying to deliver an update via webhook.

            .. versionchanged:: 20.3
                |datetime_localization|
        last_error_message (:obj:`str`): Optional. Error message in human-readable format for the
            most recent error that happened when trying to deliver an update via webhook.
        max_connections (:obj:`int`): Optional. Maximum allowed number of simultaneous HTTPS
            connections to the webhook for update delivery.
        allowed_updates (Tuple[:obj:`str`]): Optional. A list of update types the bot is
            subscribed to. Defaults to all update types, except
            :attr:`telegram.Update.chat_member`.

            .. versionchanged:: 20.0

                * |tupleclassattrs|
                * |alwaystuple|
        last_synchronization_error_date (:class:`datetime.datetime`, optional): Datetime of the
            most recent error that happened when trying to synchronize available updates with
            Telegram datacenters.

            .. versionadded:: 20.0

            .. versionchanged:: 20.3
                |datetime_localization|
    )	allowed_updateshas_custom_certificate
ip_addresslast_error_datelast_error_messagelast_synchronization_error_datemax_connectionspending_update_counturlN
api_kwargsr   r   r   r   r   r   r   r   r   r   c
          	         t                                          |
           || _        || _        || _        || _        || _        || _        || _        t          |          | _
        |	| _        | j        | j        | j        | j        | j        | j        | j        | j
        | j        f	| _        |                                  d S )Nr   )super__init__r   r   r   r   r   r   r   r	   r   r   	_id_attrs_freeze)selfr   r   r   r   r   r   r   r   r   r   	__class__s              [/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_webhookinfo.pyr   zWebhookInfo.__init__z   s     	J///,B#)=! *43B1C.=0B?0S0SCb, H'%O #  0

 	    databotr   returnc                 6   |                      |          }|sdS t          |          }t          |                    d          |          |d<   t          |                    d          |          |d<   t	                                          ||          S )z,See :meth:`telegram.TelegramObject.de_json`.Nr   )tzinfor   )r$   r%   )_parse_datar
   r   getr   de_json)clsr$   r%   
loc_tzinfor!   s       r"   r+   zWebhookInfo.de_json   s     t$$ 	4 2#66
"0:K1L1LU_"`"`"`2@HH677
3
 3
 3
./ wwDc222r#   )NNNNNN)__name__
__module____qualname____doc__	__slots__strboolintr   r   r   r   r   classmethodr+   __classcell__)r!   s   @r"   r   r       sI       K KZ
I" /3,0)-37$(>B( *.( ( (( !%( "	(
 "(+( %SM( "#( "(3-0( SM( *2();( X&( ( ( ( ( (T 38H- 3E 3h}>U 3 3 3 3 3 [3 3 3 3 3r#   r   N)r1   r   typingr   r   r   r   telegram._telegramobjectr   telegram._utils.argumentparsingr	   telegram._utils.datetimer
   r   telegram._utils.typesr   telegramr   r    r#   r"   <module>r?      s   & M L       ; ; ; ; ; ; ; ; ; ; ; ; 3 3 3 3 3 3 > > > > > > Q Q Q Q Q Q Q Q * * * * * * T3 T3 T3 T3 T3. T3 T3 T3 T3 T3r#   