
    ՟fM                     b    d Z ddlmZ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e      Zy	)
zDThis module contains an object that represents a Telegram OrderInfo.    )TYPE_CHECKINGOptional)ShippingAddress)TelegramObject)JSONDict)Botc                        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
Z	e
	 ddee   ded   ded    f fd       Z x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                    t         |   |       || _        || _        || _        || _        | j                  | j                  | j                  | j
                  f| _        | j                          y )Nr   )super__init__r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   	__class__s         V/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_payment/orderinfo.pyr   zOrderInfo.__init__6   s`     	J/#'	+7$)
;K))T%6%6

DDYDYZ    databotr   returnc                     | j                  |      }|s |        S t        j                  |j                  d      |      |d<   t        | 	  ||      S )z,See :meth:`telegram.TelegramObject.de_json`.r   )r   r   )_parse_datar   de_jsongetr   )clsr   r   r   s      r   r   zOrderInfo.de_jsonI   sS    
 t$5L#2#:#:488DV;WY\#] wDc22r   )NNNN)N)__name__
__module____qualname____doc__	__slots__r   strr   r   r   classmethodr   __classcell__)r   s   @r   r
   r
      s    ( FI #&*#6: *.sm sm }	
 #?3 X&& >B3H%3,4UO3	+	3 3r   r
   N)r%   typingr   r   !telegram._payment.shippingaddressr   telegram._telegramobjectr   telegram._utils.typesr   telegramr   r
    r   r   <module>r0      s)   & K * = 3 *63 63r   