o
    "h                     @   s   d Z ddlm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 ddlmZ dd	lmZmZ erDdd
lmZ ddlmZ G dd de	ZdS )zHThis module contains an object that represents a Telegram ShippingQuery.    )Sequence)TYPE_CHECKINGOptional)ShippingAddress)TelegramObject)User)de_json_optional)DEFAULT_NONE)JSONDictODVInput)Bot)ShippingOptionc                       s   e Zd ZdZdZdddedededed	ee	 f
 fd
dZ
edde	ded dd f fddZ		deeeedddedeed  dee dee dee dee dee d	ee	 defddZ  ZS )ShippingQuerya  This object contains information about an incoming shipping query.

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

    Note:
        In Python :keyword:`from` is a reserved word. Use :paramref:`from_user` instead.

    Args:
        id (:obj:`str`): Unique query identifier.
        from_user (:class:`telegram.User`): User who sent the query.
        invoice_payload (:obj:`str`): Bot-specified invoice payload.
        shipping_address (:class:`telegram.ShippingAddress`): User specified shipping address.

    Attributes:
        id (:obj:`str`): Unique query identifier.
        from_user (:class:`telegram.User`): User who sent the query.
        invoice_payload (:obj:`str`): Bot-specified invoice payload.
        shipping_address (:class:`telegram.ShippingAddress`): User specified shipping address.


    )	from_useridinvoice_payloadshipping_addressN
api_kwargsr   r   r   r   r   c                   s<   t  j|d || _|| _|| _|| _| jf| _|   d S )Nr   )super__init__r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   	__class__ R/var/www/html/venv/lib/python3.10/site-packages/telegram/_payment/shippingquery.pyr   >   s   	
zShippingQuery.__init__databotr   returnc                    sH   |  |}t|ddt||d< t|dt||d< t j||dS )z,See :meth:`telegram.TelegramObject.de_json`.fromNr   r   )r   r   )_parse_datar   popr   getr   r   de_json)clsr   r   r   r   r   r%   Q   s   
zShippingQuery.de_json)read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr   okshipping_optionsr   error_messager'   r(   r)   r*   c          	         s*   |   j| j||||||||d	I dH S )zShortcut for::

             await bot.answer_shipping_query(update.shipping_query.id, *args, **kwargs)

        For the documentation of the arguments, please see
        :meth:`telegram.Bot.answer_shipping_query`.

        )	shipping_query_idr+   r,   r-   r'   r(   r)   r*   r   N)get_botanswer_shipping_queryr   )	r   r+   r,   r-   r'   r(   r)   r*   r   r   r   r   answer]   s   zShippingQuery.answer)N)NN)__name__
__module____qualname____doc__	__slots__strr   r   r   r
   r   classmethodr%   r	   boolr   r   floatr1   __classcell__r   r   r   r   r   $   sX    	"
	
r   N)r5   collections.abcr   typingr   r   !telegram._payment.shippingaddressr   telegram._telegramobjectr   telegram._userr   telegram._utils.argumentparsingr   telegram._utils.defaultvaluer	   telegram._utils.typesr
   r   telegramr    telegram._payment.shippingoptionr   r   r   r   r   r   <module>   s   