
    Yif                         S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  \(       a  SSKJr   " S	 S
\	5      r " S S\	5      rg)z:This module contains classes related to gifs sent by bots.    )Sequence)TYPE_CHECKINGOptional)Sticker)TelegramObject)parse_sequence_arg)JSONDict)Botc                      ^  \ rS rSrSrSr  SSS.S\S\S\S	\	\   S
\	\   S\	\
   4U 4S jjjjr\SS\	\
   S\	S   S\	S    4S jj5       rSrU =r$ )Gift!   a  This object represents a gift that can be sent by the bot.

Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal if their :attr:`id` is equal.

.. versionadded:: 21.8

Args:
    id (:obj:`str`): Unique identifier of the gift
    sticker (:class:`~telegram.Sticker`): The sticker that represents the gift
    star_count (:obj:`int`): The number of Telegram Stars that must be paid to send the sticker
    total_count (:obj:`int`, optional): The total number of the gifts of this type that can be
        sent; for limited gifts only
    remaining_count (:obj:`int`, optional): The number of remaining gifts of this type that can
        be sent; for limited gifts only

Attributes:
    id (:obj:`str`): Unique identifier of the gift
    sticker (:class:`~telegram.Sticker`): The sticker that represents the gift
    star_count (:obj:`int`): The number of Telegram Stars that must be paid to send the sticker
    total_count (:obj:`int`): Optional. The total number of the gifts of this type that can be
        sent; for limited gifts only
    remaining_count (:obj:`int`): Optional. The number of remaining gifts of this type that can
        be sent; for limited gifts only

)idremaining_count
star_countstickertotal_countN
api_kwargsr   r   r   r   r   r   c                   > [         TU ]  US9  Xl        X l        X0l        X@l        XPl        U R                  4U l        U R                  5         g Nr   )	super__init__r   r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   r   	__class__s          :/app/.venv/lib/python3.13/site-packages/telegram/_gifts.pyr   Gift.__init__?   sF     	J/ ')*5.=''    databotr
   returnc                     U R                  U5      nU(       d  g[        R                  " UR                  S5      U5      US'   U " S0 UD6$ ),See :meth:`telegram.TelegramObject.de_json`.Nr    )_parse_datar   de_jsongetclsr    r!   s      r   r'   Gift.de_jsonT   sA     t$!//$((9*=sCY{T{r   )r   r   r   r   r   r   )NNN)__name__
__module____qualname____firstlineno____doc__	__slots__strr   intr   r	   r   classmethodr'   __static_attributes____classcell__r   s   @r   r   r   !   s    6 RI &*)- *.  	
 c] "# X& * 8H- HUO xX^O_  r   r   c            	          ^  \ rS rSrSrSrSS.S\\   S\\	   4U 4S jjjr
\SS	\\	   S
\S   S\S    4S jj5       rSrU =r$ )Gifts`   aT  This object represent a list of gifts.

Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal if their :attr:`gifts` are equal.

.. versionadded:: 21.8

Args:
    gifts (Sequence[:class:`Gift`]): The sequence of gifts

Attributes:
    gifts (tuple[:class:`Gift`]): The sequence of gifts

)giftsNr   r<   r   c                   > [         TU ]  US9  [        U5      U l        U R                  4U l        U R                  5         g r   )r   r   r   r<   r   r   )r   r<   r   r   s      r   r   Gifts.__init__r   s7     	J/'9%'@
**r   r    r!   r
   r"   c                     U R                  U5      nU(       d  g[        R                  UR                  S5      U5      US'   U " S0 UD6$ )r$   Nr<   r%   )r&   r   de_listr(   r)   s      r   r'   Gifts.de_json   sA     t$TXXg%6<W{T{r   )r   r<   r,   )r-   r.   r/   r0   r1   r2   r   r   r   r	   r   r5   r'   r6   r7   r8   s   @r   r:   r:   `   sq     I *.	~ X&	  8H- HUO xX_O`  r   r:   N)r1   collections.abcr   typingr   r   telegram._files.stickerr   telegram._telegramobjectr   telegram._utils.argumentparsingr   telegram._utils.typesr	   telegramr
   r   r:   r%   r   r   <module>rI      s<   ( A $ * + 3 > *<> <~(N (r   