o
    Zzj1  ã                   @   sd   d 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	„ d	eƒZd
S )zDThis module contains an object that represents a Telegram OrderInfo.é    )ÚTYPE_CHECKING)ÚShippingAddress)ÚTelegramObject)Úde_json_optional)ÚJSONDict)ÚBotc                       s~   e Zd ZdZdZ				dddœdedB dedB dedB dedB d	edB f
‡ fd
d„Ze	ddedddd f‡ fdd„ƒZ
‡  ZS )Ú	OrderInfoa5  This object represents information about an order.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`name`, :attr:`phone_number`, :attr:`email` and
    :attr:`shipping_address` are equal.

    Args:
        name (:obj:`str`, optional): User name.
        phone_number (:obj:`str`, optional): User's phone number.
        email (:obj:`str`, optional): User email.
        shipping_address (:class:`telegram.ShippingAddress`, optional): User shipping address.

    Attributes:
        name (:obj:`str`): Optional. User name.
        phone_number (:obj:`str`): Optional. User's phone number.
        email (:obj:`str`): Optional. User email.
        shipping_address (:class:`telegram.ShippingAddress`): Optional. User shipping address.

    )ÚemailÚnameÚphone_numberÚshipping_addressN©Ú
api_kwargsr
   r   r	   r   r   c                   sH   t ƒ j|d� || _|| _|| _|| _| j| j| j| jf| _|  ¡  d S )Nr   )ÚsuperÚ__init__r
   r   r	   r   Ú	_id_attrsÚ_freeze)Úselfr
   r   r	   r   r   ©Ú	__class__© úV/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_payment/orderinfo.pyr   7   s   	zOrderInfo.__init__ÚdataÚbotz
Bot | NoneÚreturnc                    s0   |   |¡}t| d¡t|ƒ|d< tƒ j||d�S )z,See :meth:`telegram.TelegramObject.de_json`.r   )r   r   )Ú_parse_datar   Úgetr   r   Úde_json)Úclsr   r   r   r   r   r   J   s
   
ÿzOrderInfo.de_json)NNNN)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Ústrr   r   r   Úclassmethodr   Ú__classcell__r   r   r   r   r       s,    ûùþýüûù&r   N)r"   Útypingr   Ú!telegram._payment.shippingaddressr   Útelegram._telegramobjectr   Útelegram._utils.argumentparsingr   Útelegram._utils.typesr   Útelegramr   r   r   r   r   r   Ú<module>   s   