U
    g
                     @   sL   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd deZ
dS )	zBThis module contains an object that represents a Telegram Invoice.    )FinalOptional)	constants)TelegramObject)JSONDictc                       s   e Zd ZU dZdZddeeeeeee d fddZ	e
jjZee ed< e
jjZee ed	< e
jjZee ed
< e
jjZee ed< e
jjZee ed< e
jjZee ed< e
jjZee ed<   ZS )Invoicea  This object contains basic information about an invoice.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`title`, :attr:`description`, :paramref:`start_parameter`,
    :attr:`currency` and :attr:`total_amount` are equal.

    Args:
        title (:obj:`str`): Product name.
        description (:obj:`str`): Product description.
        start_parameter (:obj:`str`): Unique bot deep-linking parameter that can be used to
            generate this invoice.
        currency (:obj:`str`): Three-letter ISO 4217 currency code, or ``XTR`` for payments in
            |tg_stars|.
        total_amount (:obj:`int`): Total price in the smallest units of the currency (integer,
            **not** float/double). For example, for a price of ``US$ 1.45`` pass ``amount = 145``.
            See the ``exp`` parameter in
            `currencies.json <https://core.telegram.org/bots/payments/currencies.json>`_,
            it shows the number of digits past the decimal point for each currency
            (2 for the majority of currencies).

    Attributes:
        title (:obj:`str`): Product name.
        description (:obj:`str`): Product description.
        start_parameter (:obj:`str`): Unique bot deep-linking parameter that can be used to
            generate this invoice.
        currency (:obj:`str`): Three-letter ISO 4217 currency code, or ``XTR`` for payments in
            |tg_stars|.
        total_amount (:obj:`int`): Total price in the smallest units of the currency (integer,
            **not** float/double). For example, for a price of ``US$ 1.45`` pass ``amount = 145``.
            See the ``exp`` parameter in
            `currencies.json <https://core.telegram.org/bots/payments/currencies.json>`_,
            it shows the number of digits past the decimal point for each currency
            (2 for the majority of currencies).

    )currencydescriptionstart_parametertitletotal_amountN
api_kwargs)r   r	   r
   r   r   r   c                   sR   t  j|d || _|| _|| _|| _|| _| j| j| j| j| jf| _|   d S )Nr   )	super__init__r   r	   r
   r   r   Z	_id_attrsZ_freeze)selfr   r	   r
   r   r   r   	__class__ =/tmp/pip-unpacked-wheel-swnnwir2/telegram/_payment/invoice.pyr   I   s    
zInvoice.__init__MIN_TITLE_LENGTHMAX_TITLE_LENGTHMIN_DESCRIPTION_LENGTHMAX_DESCRIPTION_LENGTHMIN_PAYLOAD_LENGTHMAX_PAYLOAD_LENGTHMAX_TIP_AMOUNTS)__name__
__module____qualname____doc__	__slots__strintr   r   r   r   ZInvoiceLimitr   r   __annotations__r   r   r   r   r   r   __classcell__r   r   r   r   r      s&   
$r   N)r    typingr   r   Ztelegramr   Ztelegram._telegramobjectr   Ztelegram._utils.typesr   r   r   r   r   r   <module>   s
   