
    > /i                     X    d Z ddlmZ ddlmZ ddlmZ  G d de      Z G d de      Zy	)
zOThis module contains two objects used for request chats/users service messages.    )Optional)TelegramObject)JSONDictc                   @     e Zd ZdZdZdddededee   f fdZ xZ	S )	
UserShareda  
    This object contains information about the user whose identifier was shared with the bot
    using a :class:`telegram.KeyboardButtonRequestUser` button.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`request_id` and :attr:`user_id` are equal.

    .. versionadded:: 20.1

    Args:
        request_id (:obj:`int`): Identifier of the request.
        user_id (:obj:`int`): Identifier of the shared user. This number may be greater than 32
            bits and some programming languages may have difficulty/silent defects in interpreting
            it. But it is smaller than 52 bits, so a signed 64-bit integer or double-precision
            float type are safe for storing this identifier.

    Attributes:
        request_id (:obj:`int`): Identifier of the request.
        user_id (:obj:`int`): Identifier of the shared user. This number may be greater than 32
            bits and some programming languages may have difficulty/silent defects in interpreting
            it. But it is smaller than 52 bits, so a signed 64-bit integer or double-precision
            float type are safe for storing this identifier.
    )
request_iduser_idN
api_kwargsr   r	   r   c                    t         |   |       || _        || _        | j                  | j                  f| _        | j                          y Nr
   )super__init__r   r	   	_id_attrs_freeze)selfr   r	   r   	__class__s       F/srv/sistema/bot/venv/lib/python3.12/site-packages/telegram/_shared.pyr   zUserShared.__init__5   @     	J/)#//4<<8    
__name__
__module____qualname____doc__	__slots__intr   r   r   __classcell__r   s   @r   r   r      ?    0 *I *. 
 X& r   r   c                   @     e Zd ZdZdZdddededee   f fdZ xZ	S )	
ChatShareda  
    This object contains information about the chat whose identifier was shared with the bot
    using a :class:`telegram.KeyboardButtonRequestChat` button.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`request_id` and :attr:`chat_id` are equal.

    .. versionadded:: 20.1

    Args:
        request_id (:obj:`int`): Identifier of the request.
        chat_id (:obj:`int`): Identifier of the shared user. This number may be greater than 32
            bits and some programming languages may have difficulty/silent defects in interpreting
            it. But it is smaller than 52 bits, so a signed 64-bit integer or double-precision
            float type are safe for storing this identifier.

    Attributes:
        request_id (:obj:`int`): Identifier of the request.
        chat_id (:obj:`int`): Identifier of the shared user. This number may be greater than 32
            bits and some programming languages may have difficulty/silent defects in interpreting
            it. But it is smaller than 52 bits, so a signed 64-bit integer or double-precision
            float type are safe for storing this identifier.
    )r   chat_idNr
   r   r#   r   c                    t         |   |       || _        || _        | j                  | j                  f| _        | j                          y r   )r   r   r   r#   r   r   )r   r   r#   r   r   s       r   r   zChatShared.__init__`   r   r   r   r   s   @r   r"   r"   E   r    r   r"   N)	r   typingr   telegram._telegramobjectr   telegram._utils.typesr   r   r"    r   r   <module>r)      s-   & V  3 *( (V( (r   