U
    dd                     @   s@   d Z ddlmZ ddlmZ G dd deZG dd deZdS )	zOThis module contains two objects used for request chats/users service messages.    )TelegramObject)JSONDictc                       s4   e Zd ZdZdZddeeed fddZ  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_kwargs)r   r   r   c                   s4   t  j|d || _|| _| j| jf| _|   d S Nr   )super__init__r   r   	_id_attrs_freeze)selfr   r   r   	__class__ 4/tmp/pip-unpacked-wheel-e3anp165/telegram/_shared.pyr   3   s
    zUserShared.__init__	__name__
__module____qualname____doc__	__slots__intr   r   __classcell__r   r   r   r   r      s   r   c                       s4   e Zd ZdZdZddeeed fddZ  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                   s4   t  j|d || _|| _| j| jf| _|   d S r	   )r
   r   r   r   r   r   )r   r   r   r   r   r   r   r   ^   s
    zChatShared.__init__r   r   r   r   r   r   C   s   r   N)r   Ztelegram._telegramobjectr   Ztelegram._utils.typesr   r   r   r   r   r   r   <module>   s   +