§
    ©eîi  ã                   óÖ   — d Z ddl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 ddlmZ dd	lmZmZ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dS )zQThis module contains an object that represents a Telegram MessageReaction Update.é    N)ÚSequence)ÚTYPE_CHECKING)ÚChat)ÚReactionCountÚReactionType)ÚTelegramObject)ÚUser)Úde_json_optionalÚde_list_optionalÚparse_sequence_arg)Úextract_tzinfo_from_defaultsÚfrom_timestamp)ÚJSONDict)ÚBotc                   óˆ   ‡ — e Zd ZdZdZddœdededej        de	e
         d	edz  f
ˆ fd
„Zeddedddd fˆ fd„¦   «         Zˆ xZS )ÚMessageReactionCountUpdatedaU  This class represents reaction changes on a message with anonymous reactions.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if the :attr:`chat`, :attr:`message_id`, :attr:`date` and :attr:`reactions`
    is equal.

    .. versionadded:: 20.8

    Args:
        chat (:class:`telegram.Chat`): The chat containing the message.
        message_id (:obj:`int`): Unique message identifier inside the chat.
        date (:class:`datetime.datetime`): Date of the change in Unix time
            |datetime_localization|
        reactions (Sequence[:class:`telegram.ReactionCount`]): List of reactions that are present
            on the message

    Attributes:
        chat (:class:`telegram.Chat`): The chat containing the message.
        message_id (:obj:`int`): Unique message identifier inside the chat.
        date (:class:`datetime.datetime`): Date of the change in Unix time
            |datetime_localization|
        reactions (tuple[:class:`telegram.ReactionCount`]): List of reactions that are present on
            the message
    )ÚchatÚdateÚ
message_idÚ	reactionsN©Ú
api_kwargsr   r   r   r   r   c                ó  •— t          ¦   «                              |¬¦  «         || _        || _        || _        t          |¦  «        | _        | j        | j        | j        | j        f| _        |                      ¦   «          d S ©Nr   )	ÚsuperÚ__init__r   r   r   r   r   Ú	_id_attrsÚ_freeze)Úselfr   r   r   r   r   Ú	__class__s         €úd/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/telegram/_messagereactionupdated.pyr   z$MessageReactionCountUpdated.__init__F   sm   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/àˆŒ	Ø)ˆŒØ"&ˆŒ	Ý4FÀyÑ4QÔ4QˆŒàœ) T¤_°d´iÀÄÐPˆŒØ�Š‰Œˆˆˆó    ÚdataÚbotú
Bot | NoneÚreturnc                 ó�  •— |                       |¦  «        }t          |¦  «        }t          |                     d¦  «        |¬¦  «        |d<   t	          |                     d¦  «        t
          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t          ¦   «          	                    ||¬¦  «        S )ú,See :meth:`telegram.TelegramObject.de_json`.r   ©Útzinfor   r   ©r#   r$   )
Ú_parse_datar   r   Úgetr
   r   r   r   r   Úde_json©Úclsr#   r$   Ú
loc_tzinfor    s       €r!   r.   z#MessageReactionCountUpdated.de_jsonY   s¥   ø€ ð �Š˜tÑ$Ô$ˆõ 2°#Ñ6Ô6ˆ
å% d§h¢h¨vÑ&6Ô&6¸zÐJÑJÔJˆˆV‰Ý'¨¯ª°Ñ(8Ô(8½$ÀÑDÔDˆˆV‰Ý,¨T¯XªX°kÑ-BÔ-BÅMÐSVÑWÔWˆˆ[Ñå‰wŒw�Š D¨cˆÑ2Ô2Ð2r"   ©N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   ÚintÚdtmÚdatetimer   r   r   r   Úclassmethodr.   Ú__classcell__©r    s   @r!   r   r   %   sÝ   ø€ € € € € ðð ð2€Ið '+ðð ð àðð ðð Œlð	ð
 ˜MÔ*ðð ˜t‘Oðð ð ð ð ð ð& ð3ð 3˜8ð 3¨,ð 3ÐB_ð 3ð 3ð 3ð 3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r"   r   c                   ó²   ‡ — e Zd ZdZdZ	 	 dddœdededej        de	e
         d	e	e
         d
edz  dedz  dedz  fˆ fd„Zeddedddd fˆ fd„¦   «         Zˆ xZS )ÚMessageReactionUpdateda¬  This class represents a change of a reaction on a message performed by a user.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if the :attr:`chat`, :attr:`message_id`, :attr:`date`, :attr:`old_reaction`
    and :attr:`new_reaction` is equal.

    .. versionadded:: 20.8

    Args:
        chat (:class:`telegram.Chat`): The chat containing the message.
        message_id (:obj:`int`): Unique message identifier inside the chat.
        date (:class:`datetime.datetime`): Date of the change in Unix time.
            |datetime_localization|
        old_reaction (Sequence[:class:`telegram.ReactionType`]): Previous list of reaction types
            that were set by the user.
        new_reaction (Sequence[:class:`telegram.ReactionType`]): New list of reaction types that
            were set by the user.
        user (:class:`telegram.User`, optional): The user that changed the reaction, if the user
            isn't anonymous.
        actor_chat (:class:`telegram.Chat`, optional): The chat on behalf of which the reaction was
            changed, if the user is anonymous.

    Attributes:
        chat (:class:`telegram.Chat`): The chat containing the message.
        message_id (:obj:`int`): Unique message identifier inside the chat.
        date (:class:`datetime.datetime`): Date of the change in Unix time.
            |datetime_localization|
        old_reaction (tuple[:class:`telegram.ReactionType`]): Previous list of reaction types
            that were set by the user.
        new_reaction (tuple[:class:`telegram.ReactionType`]): New list of reaction types that
            were set by the user.
        user (:class:`telegram.User`): Optional. The user that changed the reaction, if the user
            isn't anonymous.
        actor_chat (:class:`telegram.Chat`): Optional. The chat on behalf of which the reaction was
            changed, if the user is anonymous.
    )Ú
actor_chatr   r   r   Únew_reactionÚold_reactionÚuserNr   r   r   r   rB   rA   rC   r@   r   c                óT  •— t          ¦   «                              |¬¦  «         || _        || _        || _        t          |¦  «        | _        t          |¦  «        | _        || _        || _	        | j        | j        | j        | j        | j        f| _
        |                      ¦   «          d S r   )r   r   r   r   r   r   rB   rA   rC   r@   r   r   )
r   r   r   r   rB   rA   rC   r@   r   r    s
            €r!   r   zMessageReactionUpdated.__init__˜   sž   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/àˆŒ	Ø)ˆŒØ"&ˆŒ	Ý6HÈÑ6VÔ6VˆÔÝ6HÈÑ6VÔ6VˆÔð "&ˆŒ	Ø'1ˆŒð ŒIØŒOØŒIØÔØÔð
ˆŒð 	�Š‰Œˆˆˆr"   r#   r$   r%   r&   c                 ó˜  •— |                       |¦  «        }t          |¦  «        }t          |                     d¦  «        |¬¦  «        |d<   t	          |                     d¦  «        t
          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t	          |                     d¦  «        t          |¦  «        |d<   t	          |                     d¦  «        t
          |¦  «        |d<   t          ¦   «          
                    ||¬¦  «        S )	r(   r   r)   r   rB   rA   rC   r@   r+   )r,   r   r   r-   r
   r   r   r   r	   r   r.   r/   s       €r!   r.   zMessageReactionUpdated.de_json¹   s  ø€ ð �Š˜tÑ$Ô$ˆõ 2°#Ñ6Ô6ˆ
å% d§h¢h¨vÑ&6Ô&6¸zÐJÑJÔJˆˆV‰Ý'¨¯ª°Ñ(8Ô(8½$ÀÑDÔDˆˆV‰Ý/°·²¸Ñ0HÔ0HÍ,ÐX[Ñ\Ô\ˆˆ^ÑÝ/°·²¸Ñ0HÔ0HÍ,ÐX[Ñ\Ô\ˆˆ^ÑÝ'¨¯ª°Ñ(8Ô(8½$ÀÑDÔDˆˆV‰Ý-¨d¯hªh°|Ñ.DÔ.DÅdÈCÑPÔPˆˆ\Ñå‰wŒw�Š D¨cˆÑ2Ô2Ð2r"   )NNr2   )r3   r4   r5   r6   r7   r   r8   r9   r:   r   r   r	   r   r   r;   r.   r<   r=   s   @r!   r?   r?   h   s  ø€ € € € € ð#ð #ðJ€Ið" !Ø"&ðð '+ðð ð àðð ðð Œlð	ð
 ˜|Ô,ðð ˜|Ô,ðð �T‰kðð ˜4‘Kðð ˜t‘Oðð ð ð ð ð ðB ð3ð 3˜8ð 3¨,ð 3ÐBZð 3ð 3ð 3ð 3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r"   r?   )r6   r:   r9   Úcollections.abcr   Útypingr   Útelegram._chatr   Útelegram._reactionr   r   Útelegram._telegramobjectr   Útelegram._userr	   Útelegram._utils.argumentparsingr
   r   r   Útelegram._utils.datetimer   r   Útelegram._utils.typesr   Útelegramr   r   r?   © r"   r!   ú<module>rQ      s_  ðð& XÐ Wà Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ *Ð *Ð *Ð *Ð *Ð *àð ØÐÐÐÐÐð@3ð @3ð @3ð @3ð @3 .ñ @3ô @3ð @3ðF`3ð `3ð `3ð `3ð `3˜^ñ `3ô `3ð `3ð `3ð `3r"   