o
    "hY                     @   sh   d Z ddlmZ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Optional)ShippingAddress)TelegramObject)de_json_optional)JSONDict)Botc                       s   e Zd ZdZdZ				ddddee dee dee dee d	ee f
 fd
dZ	e
ddede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__ N/var/www/html/venv/lib/python3.10/site-packages/telegram/_payment/orderinfo.pyr   7   s   	zOrderInfo.__init__databotr   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__r   strr   r   r   classmethodr   __classcell__r   r   r   r   r	       s,    *r	   N)r#   typingr   r   !telegram._payment.shippingaddressr   telegram._telegramobjectr   telegram._utils.argumentparsingr   telegram._utils.typesr   telegramr   r	   r   r   r   r   <module>   s   