Ë
    †ja  ã                   óÖ   — d Z ddl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 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 G d„ de«      Zy)zEThis module contains objects that represents a Telegram ReactionType.é    )ÚTYPE_CHECKINGÚFinalÚLiteral)Ú	constants)ÚTelegramObject)Úenum)Úde_json_optional)ÚJSONDict)ÚBotc                   óx  ‡ — e Zd ZU dZdZej                  j                  Zeej                     e	d<   	 ej                  j                  Z
eej                     e	d<   	 ej                  j                  Zeej                     e	d<   	 ddœded	   ej                  z  d
edz  fˆ fd„Zeddedddd fˆ fd„«       Zˆ xZS )ÚReactionTypeaÄ  Base class for Telegram ReactionType Objects.
    There exist :class:`telegram.ReactionTypeEmoji`, :class:`telegram.ReactionTypeCustomEmoji`
    and :class:`telegram.ReactionTypePaid`.

    .. versionadded:: 20.8
    .. versionchanged:: 21.5

        Added paid reaction.

    Args:
        type (:obj:`str`): Type of the reaction. Can be
            :attr:`~telegram.ReactionType.EMOJI`, :attr:`~telegram.ReactionType.CUSTOM_EMOJI` or
            :attr:`~telegram.ReactionType.PAID`.
    Attributes:
        type (:obj:`str`): Type of the reaction. Can be
            :attr:`~telegram.ReactionType.EMOJI`, :attr:`~telegram.ReactionType.CUSTOM_EMOJI` or
            :attr:`~telegram.ReactionType.PAID`.

    )ÚtypeÚEMOJIÚCUSTOM_EMOJIÚPAIDN©Ú
api_kwargsr   )ÚemojiÚcustom_emojiÚpaidr   c                óš   •— t         ‰| �  |¬«       t        j                  t        j
                  ||«      | _        | j                  «        y ©Nr   )ÚsuperÚ__init__r   Ú
get_memberr   r   r   Ú_freeze)Úselfr   r   Ú	__class__s      €úQ/var/www/html/datingFans/myenv/lib/python3.12/site-packages/telegram/_reaction.pyr   zReactionType.__init__C   s8   ø€ ô 	‰Ñ JÐÔ/äŸ™¬×)?Ñ)?ÀÀtÓLˆŒ	à�‰�ó    ÚdataÚbotú
Bot | NoneÚreturnc                 ó*  •— | j                  |«      }| j                  t        | j                  t        | j
                  t        i}| t        u r7|j                  d«      |v r$||j                  d«         j                  ||«      S t        ‰| �)  ||¬«      S ©z,See :meth:`telegram.TelegramObject.de_json`.r   )r!   r"   )Ú_parse_datar   ÚReactionTypeEmojir   ÚReactionTypeCustomEmojir   ÚReactionTypePaidr   ÚgetÚpopÚde_jsonr   )Úclsr!   r"   Ú_class_mappingr   s       €r   r-   zReactionType.de_jsonO   sŠ   ø€ ð �‰˜tÓ$ˆð �I‰IÔ(Ø×ÑÔ5Ø�H‰HÔ&ð9
ˆð ”,Ñ 4§8¡8¨FÓ#3°~Ñ#EØ! $§(¡(¨6Ó"2Ñ3×;Ñ;¸DÀ#ÓFÐFä‰w‰ D¨cˆÓ2Ð2r    ©N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r   r   Ú__annotations__r   r   r   r
   r   Úclassmethodr-   Ú__classcell__©r   s   @r   r   r   "   s×   ø… ñð( €Ià+4×+AÑ+A×+GÑ+G€Eˆ5�×'Ñ'Ñ(ÓGØ8Ø2;×2HÑ2H×2UÑ2U€L�%˜	×.Ñ.Ñ/ÓUØ?Ø*3×*@Ñ*@×*EÑ*E€Dˆ%�	×&Ñ&Ñ
'ÓEðð '+ò	
àÐ5Ñ6¸×9OÑ9OÑOð
ð ˜t‘Oõ	
ð ñ3˜8ð 3¨,ð 3À.ô 3ó ô3r    r   c                   ó<   ‡ — e Zd ZdZdZddœdededz  fˆ fd„Zˆ xZS )r(   aP  
    Represents a reaction with a normal emoji.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if the :attr:`emoji` is equal.

    .. versionadded:: 20.8

    Args:
        emoji (:obj:`str`): Reaction emoji. It can be one of
            :const:`telegram.constants.ReactionEmoji`.

    Attributes:
        type (:obj:`str`): Type of the reaction,
            always :tg-const:`telegram.ReactionType.EMOJI`.
        emoji (:obj:`str`): Reaction emoji. It can be one of
        :const:`telegram.constants.ReactionEmoji`.
    )r   Nr   r   r   c                óÀ   •— t         ‰| �  t        j                  |¬«       | j	                  «       5  || _        | j
                  f| _        d d d «       y # 1 sw Y   y xY w©N)r   r   )r   r   r   r   Ú	_unfrozenr   Ú	_id_attrs)r   r   r   r   s      €r   r   zReactionTypeEmoji.__init__v   sP   ø€ ô 	‰Ñœl×0Ñ0¸ZÐÔHà�^‰^Óñ 	+Ø#ˆDŒJØ"Ÿj™j˜]ˆDŒN÷	+÷ 	+ñ 	+úó   ±AÁA©	r1   r2   r3   r4   r5   Ústrr
   r   r8   r9   s   @r   r(   r(   `   s4   ø„ ñð& €Ið '+ò	
+àð
+ð ˜t‘O÷	
+ñ 
+r    r(   c                   ó<   ‡ — e Zd ZdZdZddœdededz  fˆ fd„Zˆ xZS )r)   aü  
    Represents a reaction with a custom emoji.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if the :attr:`custom_emoji_id` is equal.

    .. versionadded:: 20.8

    Args:
        custom_emoji_id (:obj:`str`): Custom emoji identifier.

    Attributes:
        type (:obj:`str`): Type of the reaction,
            always :tg-const:`telegram.ReactionType.CUSTOM_EMOJI`.
        custom_emoji_id (:obj:`str`): Custom emoji identifier.

    )Úcustom_emoji_idNr   rC   r   c                óÀ   •— t         ‰| �  t        j                  |¬«       | j	                  «       5  || _        | j
                  f| _        d d d «       y # 1 sw Y   y xY wr<   )r   r   r   r   r=   rC   r>   )r   rC   r   r   s      €r   r   z ReactionTypeCustomEmoji.__init__˜   sT   ø€ ô 	‰Ñœl×7Ñ7ÀJÐÔOà�^‰^Óñ 	5Ø(7ˆDÔ Ø"×2Ñ2Ð4ˆDŒN÷	5÷ 	5ñ 	5úr?   r@   r9   s   @r   r)   r)   ƒ   s4   ø„ ñð$ %€Ið '+ò	
5àð
5ð ˜t‘O÷	
5ñ 
5r    r)   c                   ó8   ‡ — e Zd ZdZdZddœdedz  fˆ fd„Zˆ xZS )r*   z¸
    The reaction is paid.

    .. versionadded:: 21.5

    Attributes:
        type (:obj:`str`): Type of the reaction,
            always :tg-const:`telegram.ReactionType.PAID`.
    © Nr   r   c                ód   •— t         ‰| �  t        j                  |¬«       | j	                  «        y r<   )r   r   r   r   r   )r   r   r   s     €r   r   zReactionTypePaid.__init__²   s$   ø€ Ü‰Ñœl×/Ñ/¸JÐÔGØ�‰�r    )r1   r2   r3   r4   r5   r
   r   r8   r9   s   @r   r*   r*   ¥   s'   ø„ ñð €Ià8<ò  h°¡o÷ ñ r    r*   c                   ód   ‡ — e Zd ZdZdZddœdedededz  fˆ fd„Ze	dd	ed
ddd fˆ fd„«       Z
ˆ xZS )ÚReactionCountai  This class represents a reaction added to a message along with the number of times it was
    added.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if the :attr:`type` and :attr:`total_count` is equal.

    .. versionadded:: 20.8

    Args:
        type (:class:`telegram.ReactionType`): Type of the reaction.
        total_count (:obj:`int`): Number of times the reaction was added.

    Attributes:
        type (:class:`telegram.ReactionType`): Type of the reaction.
        total_count (:obj:`int`): Number of times the reaction was added.
    )Útotal_countr   Nr   r   rJ   r   c                óœ   •— t         ‰| �  |¬«       || _        || _        | j                  | j                  f| _        | j                  «        y r   )r   r   r   rJ   r>   r   )r   r   rJ   r   r   s       €r   r   zReactionCount.__init__Î   sJ   ø€ ô 	‰Ñ JÐÔ/à"&ˆŒ	Ø +ˆÔð �I‰IØ×Ñð
ˆŒð 	�‰�r    r!   r"   r#   r$   c                 óŽ   •— | j                  |«      }t        |j                  d«      t        |«      |d<   t        ‰| �  ||¬«      S r&   )r'   r	   r+   r   r   r-   )r.   r!   r"   r   s      €r   r-   zReactionCount.de_jsonà   sA   ø€ ð �‰˜tÓ$ˆä'¨¯©°Ó(8¼,ÈÓLˆˆV‰ä‰w‰ D¨cˆÓ2Ð2r    r0   )r1   r2   r3   r4   r5   r   Úintr
   r   r7   r-   r8   r9   s   @r   rI   rI   ·   sb   ø„ ñð"€Ið '+òàðð ðð
 ˜t‘Oõð$ ñ3˜8ð 3¨,ð 3À/ô 3ó ô3r    rI   N)r4   Útypingr   r   r   Útelegramr   Útelegram._telegramobjectr   Útelegram._utilsr   Útelegram._utils.argumentparsingr	   Útelegram._utils.typesr
   r   r   r(   r)   r*   rI   rF   r    r   ú<module>rT      se   ðñ( Lç 0Ñ 0å Ý 3Ý  Ý <Ý *áÝô;3�>ô ;3ô| +˜ô  +ôF5˜lô 5ôD�|ô ô$03�Nõ 03r    