
    > /i                     
   d Z ddlmZ ddlmZmZmZ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mZmZmZmZ dd	lmZ dd
lmZ er.ddlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0  G d de      Z1y)z?This module contains an object that represents a Telegram User.    )datetime)TYPE_CHECKINGOptionalSequenceTupleUnion)InlineKeyboardButton)
MenuButton)TelegramObject)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInputReplyMarkup)mention_html)mention_markdown)	AnimationAudioContactDocumentInlineKeyboardMarkupInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoLabeledPriceLocationMessageMessageEntity	MessageId	PhotoSizeStickerUserProfilePhotosVenueVideo	VideoNoteVoicec            D           e Zd ZdZdZ	 	 	 	 	 	 	 	 ddddedededee   d	ee   d
ee   dee   dee   dee   dee   dee   dee	   f fdZ
edefd       Zedefd       Zedee   fd       Z	 	 deeeedddee   dee   dee   dee   dee   dee   dee	   ded   fdZddee   defd Zddee   defd!Zddee   defd"Zddee   defd#Zefeeeeddd$ed%ee   dee   dee   dee   dee   dee	   defd&Z	 deeeeddd$ee   dee   dee   dee   dee   dee	   defd'Zeeeedddee   dee   dee   dee   dee	   defd(Zeeeddededf	eeeeddd)ed*ee   d+ee   d%ee   d,ee   d-ee   d.ee   d/eed0      d1ee   d2ee   dee   dee   dee   dee   dee	   dd3f d4Zdeddeededdf
deeeedd5d6eed7f   d8ee   d%ee   d,ee   d-ee   d*ee   d.ee   d9eed0      d1ee   d2ee   d:ee   d;ee   dee   dee   dee   dee   dee	   dd3f$d<Z edeedfeeeeddedd=d>eed?      d%ee   d,ee   d.ee   d1ee   d2ee   dee   dee   dee   dee   dee	   d8ee   d*ee   d9eed0      de!d@   fdAZ"ddddeddeededdfdeeeedd5dBeedCf   dDee   dEee   dFee   d8ee   d%ee   d,ee   d-ee   d*ee   d.ee   d9eed0      d1ee   d2ee   dGee   d;ee   dee   dee   dee   dee   dee	   dd3f*dHZ#	 deeeedddIed2ee   dee   dee   dee   dee   dee	   defdJZ$e$Z%	 dddedddeedf
deeeeddKdLee   dee   dee   d%ee   d,ee   d-ee   dMee   d.ee   d1ee   d2ee   dNedO   dee   dee   dee   dee   dee	   dd3f"dPZ&edddeedfeeeeddd%ee   d,ee   d-ee   dQee   d.ee   d1ee   d2ee   dee   dee   dee   dee   dee	   dd3fdRZ'deddedededdfdeeeedd5dSeedTf   d8ee   d%ee   d,ee   d-ee   d*ee   dUee   d.ee   d9eed0      d1ee   d2ee   dGee   d;ee   dee   dee   dee   dee   dee	   dd3f&dVZ(eddeedfeeeedddWed%ee   d,ee   d-edX   d.ee   d1ee   d2ee   dee   dee   dee   dee   dee	   dd3fdYZ)ddddddddddedddddeddedfeeeedddFedZed[ed\ed]ed^ed_   d`ee   daee   dbee   dcee   ddee   deee   dfee   dgee   dhee   diee   d%ee   d,ee   d-edX   djeeee*f      dkee   dlee   d.ee   dmee   dneee      d1ee   d2ee   dee   dee   dee   dee   dee	   dd3fBdoZ+ddeddddddeedfdeeeeddpdqee   dree   d%ee   d,ee   d-ee   dsee   dtee   duee   dvee   d.ee   d1ee   d2ee   dwedx   dee   dee   dee   dee   dee	   dd3f&dyZ,ddddeeddededddfdeeeedd5dzeed{f   dDee   d|ee   d}ee   d8ee   d*ee   d%ee   d,ee   d-ee   d.ee   d9eed0      d1ee   d2ee   d:ee   dGee   d;ee   dee   dee   dee   dee   dee	   dd3f,d~Z-eddeeddfeeeedddeedf   d%ee   d,ee   d-ee   d.ee   d1ee   d2ee   dQee   dee   dee   dee   dee   dee	   dd3fdZ.ddeddddedededddfdeeeedd5deedf   dDee   d8ee   d%ee   d,ee   d-ee   d|ee   d}ee   d*ee   dee   d.ee   d9eed0      d1ee   d2ee   d:ee   dGee   d;ee   dee   dee   dee   dee   dee	   dd3f.dZ/dddddedddddeedfdeeeedddqee   dree   dFee   dee   dee   d%ee   d,ee   d-ee   dee   dee   dee   d.ee   d1ee   d2ee   ded   dee   dee   dee   dee   dee	   dd3f*dZ0ddeddeeddf	deeeedd5deedf   dDee   dee   d%ee   d,ee   d-ee   d.ee   d1ee   d2ee   dGee   d;ee   dee   dee   dee   dee   dee	   dd3f"dZ1ddeddeededf
deeeedd5deedf   dDee   d8ee   d%ee   d,ee   d-ee   d*ee   d.ee   d9eed0      d1ee   d2ee   d;ee   dee   dee   dee   dee   dee	   dd3f$dZ2dddddedddeddededfeeeedddedee   dee   dee   dee   dee3   dee   d%ee   d,ee   d-ee   dee   dee   dee   deeee4f      d.ee   deed0      d1ee   d2ee   dee   dee   dee   dee   dee	   dd3f0dZ5dededededf	eeeedddeeef   d$ed8ee   d*ee   d9eed0      d%ee   d,ee   d.ee   d-ee   d1ee   d2ee   dee   dee   dee   dee   dee	   ddf"dZ6dededededf	eeeedddeeef   d$ed8ee   d*ee   d9eed0      d%ee   d,ee   d.ee   d-ee   d1ee   d2ee   dee   dee   dee   dee   dee	   ddf"dZ7eeeedddeeef   dee   dee   dee   dee   dee	   defdZ8eeeedddeeef   dee   dee   dee   dee   dee	   defdZ9	 deeeedddee:   dee   dee   dee   dee   dee	   defdZ;eeeedddee   dee   dee   dee   dee	   de:fdZ< xZ=S )Usera  This object represents a Telegram user or bot.

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

    .. versionchanged:: 20.0
        The following are now keyword-only arguments in Bot methods:
        ``location``, ``filename``, ``venue``, ``contact``,
        ``{read, write, connect, pool}_timeout`` ``api_kwargs``. Use a named argument for those,
        and notice that some positional arguments changed position as a result.

    Args:
        id (:obj:`int`): Unique identifier for this user or bot.
        is_bot (:obj:`bool`): :obj:`True`, if this user is a bot.
        first_name (:obj:`str`): User's or bot's first name.
        last_name (:obj:`str`, optional): User's or bot's last name.
        username (:obj:`str`, optional): User's or bot's username.
        language_code (:obj:`str`, optional): IETF language tag of the user's language.
        can_join_groups (:obj:`str`, optional): :obj:`True`, if the bot can be invited to groups.
            Returned only in :attr:`telegram.Bot.get_me` requests.
        can_read_all_group_messages (:obj:`str`, optional): :obj:`True`, if privacy mode is
            disabled for the bot. Returned only in :attr:`telegram.Bot.get_me` requests.
        supports_inline_queries (:obj:`str`, optional): :obj:`True`, if the bot supports inline
            queries. Returned only in :attr:`telegram.Bot.get_me` requests.

        is_premium (:obj:`bool`, optional): :obj:`True`, if this user is a Telegram Premium user.

            .. versionadded:: 20.0
        added_to_attachment_menu (:obj:`bool`, optional): :obj:`True`, if this user added
            the bot to the attachment menu.

            .. versionadded:: 20.0
    Attributes:
        id (:obj:`int`): Unique identifier for this user or bot.
        is_bot (:obj:`bool`): :obj:`True`, if this user is a bot.
        first_name (:obj:`str`): User's or bot's first name.
        last_name (:obj:`str`): Optional. User's or bot's last name.
        username (:obj:`str`): Optional. User's or bot's username.
        language_code (:obj:`str`): Optional. IETF language tag of the user's language.
        can_join_groups (:obj:`str`): Optional. :obj:`True`, if the bot can be invited to groups.
            Returned only in :attr:`telegram.Bot.get_me` requests.
        can_read_all_group_messages (:obj:`str`): Optional. :obj:`True`, if privacy mode is
            disabled for the bot. Returned only in :attr:`telegram.Bot.get_me` requests.
        supports_inline_queries (:obj:`str`): Optional. :obj:`True`, if the bot supports inline
            queries. Returned only in :attr:`telegram.Bot.get_me` requests.
        is_premium (:obj:`bool`): Optional. :obj:`True`, if this user is a Telegram
            Premium user.

            .. versionadded:: 20.0
        added_to_attachment_menu (:obj:`bool`): Optional. :obj:`True`, if this user added
            the bot to the attachment menu.

            .. versionadded:: 20.0
    .. |user_chat_id_note| replace:: This shortcuts build on the assumption that :attr:`User.id`
        coincides with the :attr:`Chat.id` of the private chat with the user. This has been the
        case so far, but Telegram does not guarantee that this stays this way.
    )is_botcan_read_all_group_messagesusername
first_name	last_namecan_join_groupssupports_inline_queriesidlanguage_code
is_premiumadded_to_attachment_menuN
api_kwargsr2   r.   r+   r/   r-   r3   r0   r,   r1   r4   r5   r7   c                   t         |   |       || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        | j                  f| _        | j                          y )Nr6   )super__init__r2   r.   r+   r/   r-   r3   r0   r,   r1   r4   r5   	_id_attrs_freeze)selfr2   r.   r+   r/   r-   r3   r0   r,   r1   r4   r5   r7   	__class__s                D/srv/sistema/bot/venv/lib/python3.12/site-packages/telegram/_user.pyr:   zUser.__init__   s}      	J/)"(1'/,9/>;V(7N$*48P%''    returnc                 P    | j                   rd| j                    S | j                  S )z:obj:`str`: Convenience property. If available, returns the user's :attr:`username`
        prefixed with "@". If :attr:`username` is not available, returns :attr:`full_name`.
        @)r-   	full_namer=   s    r?   namez	User.name   s&    
 ==t}}o&&~~r@   c                 h    | j                   r| j                   d| j                    S | j                  S )z:obj:`str`: Convenience property. The user's :attr:`first_name`, followed by (if
        available) :attr:`last_name`.
         )r/   r.   rE   s    r?   rD   zUser.full_name   s0    
 >>oo&a'788r@   c                 :    | j                   rd| j                    S y)zu:obj:`str`: Convenience property. If :attr:`username` is available, returns a t.me link
        of the user.
        zhttps://t.me/N)r-   rE   s    r?   linkz	User.link   s    
 =="4==/22r@   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr7   offsetlimitrK   rL   rM   rN   r$   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)zShortcut for::

             await bot.get_user_profile_photos(update.effective_user.id, *args, **kwargs)

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

        )user_idrO   rP   rK   rL   rM   rN   r7   N)get_botget_user_profile_photosr2   )r=   rO   rP   rK   rL   rM   rN   r7   s           r?   get_profile_photoszUser.get_profile_photos   sL     & \\^;;GG%'+%! < 	
 	
 		
 	
   5><>rF   c                 r    |rt        | j                  |      S t        | j                  | j                        S )a  
        Note:
            :tg-const:`telegram.constants.ParseMode.MARKDOWN` is a legacy mode, retained by
            Telegram for backward compatibility. You should use :meth:`mention_markdown_v2`
            instead.

        Args:
            name (:obj:`str`): The name used as a link for the user. Defaults to :attr:`full_name`.

        Returns:
            :obj:`str`: The inline mention for the user as markdown (version 1).

        helpers_mention_markdownr2   rD   r=   rF   s     r?   r   zUser.mention_markdown   s-     +DGGT::'@@r@   c                 z    |rt        | j                  |d      S t        | j                  | j                  d      S )z
        Args:
            name (:obj:`str`): The name used as a link for the user. Defaults to :attr:`full_name`.

        Returns:
            :obj:`str`: The inline mention for the user as markdown (version 2).

           )versionrX   rZ   s     r?   mention_markdown_v2zUser.mention_markdown_v2   s1     +DGGT1EE'KKr@   c                 r    |rt        | j                  |      S t        | j                  | j                        S )z
        Args:
            name (:obj:`str`): The name used as a link for the user. Defaults to :attr:`full_name`.

        Returns:
            :obj:`str`: The inline mention for the user as HTML.

        )helpers_mention_htmlr2   rD   rZ   s     r?   r   zUser.mention_html   s-     '66#DGGT^^<<r@   c                 R    t        |xs | j                  d| j                         S )a{  Shortcut for::

            InlineKeyboardButton(text=name, url=f"tg://user?id={update.effective_user.id}")

        .. versionadded:: 13.9

        Args:
            name (:obj:`str`): The name used as a link for the user. Defaults to :attr:`full_name`.

        Returns:
            :class:`telegram.InlineKeyboardButton`: InlineButton with url set to the user mention
        ztg://user?id=)texturl)r	   rD   r2   rZ   s     r?   mention_buttonzUser.mention_button  s)     $)?}UYU\U\T]E^__r@   
message_iddisable_notificationc          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)aW  Shortcut for::

              await bot.pin_chat_message(chat_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.

        )chat_idre   rf   rK   rL   rM   rN   r7   N)rS   pin_chat_messager2   )r=   re   rf   rK   rL   rM   rN   r7   s           r?   pin_messagezUser.pin_message  sL     0 \\^44GG!!5%'+%! 5 	
 	
 		
 	
rV   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a[  Shortcut for::

              await bot.unpin_chat_message(chat_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.

        )rh   rK   rL   rM   rN   r7   re   N)rS   unpin_chat_messager2   )r=   re   rK   rL   rM   rN   r7   s          r?   unpin_messagezUser.unpin_message=  sI     . \\^66GG%'+%!! 7 
 
 	
 
   4=;=c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)am  Shortcut for::

              await bot.unpin_all_chat_messages(chat_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.

        rh   rK   rL   rM   rN   r7   N)rS   unpin_all_chat_messagesr2   r=   rK   rL   rM   rN   r7   s         r?   unpin_all_messageszUser.unpin_all_messages^  sF     . \\^;;GG%'+%! < 
 
 	
 
   3<:<rb   
parse_modedisable_web_page_previewreply_to_message_idreply_markupallow_sending_without_replyentitiesr    protect_contentmessage_thread_idr   c                   K   | j                         j                  | j                  |||||||||	|
|||||       d{   S 7 w)ae  Shortcut for::

             await bot.send_message(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   rb   ru   rv   rf   rw   rx   ry   rz   r{   r|   rK   rL   rM   rN   r7   N)rS   send_messager2   )r=   rb   ru   rv   rf   rw   rx   ry   rz   r{   r|   rK   rL   rM   rN   r7   s                   r?   r~   zUser.send_message~  se     @ \\^00GG!%=!5 3%(C+/%'+%!! 1 
 
 	
 
s   =AA A)filenamerK   rL   rM   rN   r7   photor"   captioncaption_entitieshas_spoilerr   c                   K   | j                         j                  | j                  ||||||||||	|
||||||       d{   S 7 w)aa  Shortcut for::

             await bot.send_photo(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   rf   rw   rx   ru   ry   r   r   r{   r|   rK   rL   rM   rN   r7   r   N)rS   
send_photor2   )r=   r   r   rf   rw   rx   ru   ry   r   r{   r|   r   r   rK   rL   rM   rN   r7   s                     r?   r   zUser.send_photo  sk     D \\^..GG!5 3%!(C-+/%'+%!#% / 
 
 	
 
   ?AAA)rK   rL   rM   rN   r7   r   ru   r   media)r   r   r   r   )r   .c                   K   | j                         j                  | j                  ||||||	|
|||||||       d{   S 7 w)a  Shortcut for::

             await bot.send_media_group(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            Tuple[:class:`telegram.Message`:] On success, a tuple of :class:`~telegram.Message`
            instances that were sent is returned.

        )rh   r   rf   rw   rK   rL   rM   rN   r7   ry   r{   r|   r   ru   r   N)rS   send_media_groupr2   )r=   r   rf   rw   ry   r{   r|   rK   rL   rM   rN   r7   r   ru   r   s                  r?   r   zUser.send_media_group  sb     D \\^44GG!5 3%'+%!(C+/!- 5 
 
 	
 
s   <AAAaudior   duration	performertitle	thumbnailc                   K   | j                         j                  | j                  |||||||||	|
||||||||||       d{   S 7 w)aa  Shortcut for::

             await bot.send_audio(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   r   r   rf   rw   rx   ru   ry   r   r   r{   r|   rK   rL   rM   rN   r7   r   N)rS   
send_audior2   )r=   r   r   r   r   r   rf   rw   rx   ru   ry   r   r{   r|   r   r   rK   rL   rM   rN   r7   s                        r?   r   zUser.send_audio  st     J \\^..GG!5 3%!(C-+/%'+%!+ / 
 
 	
 
   AAA	Aactionc          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)a5  Shortcut for::

             await bot.send_chat_action(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :obj:`True`: On success.

        )rh   r   r|   rK   rL   rM   rN   r7   N)rS   send_chat_actionr2   )r=   r   r|   rK   rL   rM   rN   r7   s           r?   r   zUser.send_chat_actionY  sL     0 \\^44GG/%'+%! 5 	
 	
 		
 	
rV   )contactrK   rL   rM   rN   r7   phone_numbervcardr   r   c                   K   | j                         j                  | j                  |||||||||||||||	|
       d{   S 7 w)ae  Shortcut for::

             await bot.send_contact(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r.   r/   rf   rw   rx   rK   rL   rM   rN   r   r   r7   ry   r{   r|   N)rS   send_contactr2   )r=   r   r.   r/   rf   rw   rx   r   ry   r{   r|   r   rK   rL   rM   rN   r7   s                    r?   r   zUser.send_contact  sh     B \\^00GG%!!5 3%%'+%!(C+/# 1 
 
 	
 
   >A AAemojic                   K   | j                         j                  | j                  |||||	|
||||||       d{   S 7 w)a_  Shortcut for::

             await bot.send_dice(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   rf   rw   rx   rK   rL   rM   rN   r   r7   ry   r{   r|   N)rS   	send_dicer2   )r=   rf   rw   rx   r   ry   r{   r|   rK   rL   rM   rN   r7   s                r?   r   zUser.send_dice  s[     : \\^--GG!5 3%%'+%!(C+/ . 
 
 	
 
   :AAAdocumentr   disable_content_type_detectionc                   K   | j                         j                  | j                  ||||||||||||||||	|
|       d{   S 7 w)ag  Shortcut for::

             await bot.send_document(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   rf   rw   rx   rK   rL   rM   rN   ru   r   r7   r   ry   r   r{   r|   N)rS   send_documentr2   )r=   r   r   rf   rw   rx   ru   r   ry   r   r{   r|   r   r   rK   rL   rM   rN   r7   s                      r?   r   zUser.send_document  sn     F \\^11GG!5 3%%'+%!!+I(C-+/' 2 
 
 	
 
   A A	AA	game_short_namer   c                   K   | j                         j                  | j                  ||||||	|
|||||       d{   S 7 w)a_  Shortcut for::

             await bot.send_game(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   rf   rw   rx   rK   rL   rM   rN   r7   ry   r{   r|   N)rS   	send_gamer2   )r=   r   rf   rw   rx   ry   r{   r|   rK   rL   rM   rN   r7   s                r?   r   zUser.send_game  s[     : \\^--GG+!5 3%%'+%!(C+/ . 
 
 	
 
r   descriptionpayloadprovider_tokencurrencypricesr   start_parameter	photo_url
photo_sizephoto_widthphoto_height	need_nameneed_phone_number
need_emailneed_shipping_addressis_flexibleprovider_datasend_phone_number_to_providersend_email_to_providermax_tip_amountsuggested_tip_amountsc                4  K    | j                         j                  d#i d| j                  d|d|d|d|d|d|d|d	|d
|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d| d|d|d|d |d!| d"{   S 7 w)$aM  Shortcut for::

             await bot.send_invoice(update.effective_user.id, *args, **kwargs)

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

        Warning:
            As of API 5.2 :paramref:`start_parameter <telegram.Bot.send_invoice.start_parameter>`
            is an optional argument and therefore the
            order of the arguments had to be changed. Use keyword arguments to make sure that the
            arguments are passed correctly.

        Note:
            |user_chat_id_note|

        .. versionchanged:: 13.5
            As of Bot API 5.2, the parameter
            :paramref:`start_parameter <telegram.Bot.send_invoice.start_parameter>` is optional.

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        rh   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rf   rw   rx   r   r   r   rK   rL   rM   rN   r7   ry   r   r   r{   r|   N )rS   send_invoicer2   )!r=   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rf   rw   rx   r   r   r   ry   r   r   r{   r|   rK   rL   rM   rN   r7   s!                                    r?   r   zUser.send_invoiceG  s~    v 1T\\^00 "
GG"
"
 $"
 	"

 *"
 "
 "
 ,"
  "
 ""
 $"
 &"
  "
 0"
 ""
  #8!"
" $#"
$ "6%"
& !4'"
( &)"
* (+"
, +H-"
. $:/"
0 &1"
2 (3"
4 ,5"
6 &7"
8 "9"
: )D;"
< *="
> #8?"
@ ,A"
B 0C"
 "
 "	
 "
s   BBBB)locationrK   rL   rM   rN   r7   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr   r   c                   K   | j                         j                  | j                  |||||||||||||||	|
||       d{   S 7 w)ag  Shortcut for::

             await bot.send_location(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   rf   rw   rx   rK   rL   rM   rN   r   r   r7   r   r   r   ry   r{   r|   N)rS   send_locationr2   )r=   r   r   rf   rw   rx   r   r   r   r   ry   r{   r|   r   rK   rL   rM   rN   r7   s                      r?   r   zUser.send_location  sn     F \\^11GG!5 3%%'+%#! 3#9(C+/' 2 
 
 	
 
r   	animationr   widthheightc                   K   | j                         j                  | j                  |||||||||	||||||
||||||       d{   S 7 w)ai  Shortcut for::

             await bot.send_animation(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   r   r   ru   rf   rw   rx   rK   rL   rM   rN   r7   ry   r   r   r{   r|   r   r   N)rS   send_animationr2   )r=   r   r   r   r   r   ru   rf   rw   rx   ry   r   r{   r|   r   r   r   rK   rL   rM   rN   r7   s                         r?   r   zUser.send_animation  sw     L \\^22GG!!5 3%%'+%!(C-+/#- 3 
 
 	
 
s   AAA
Astickerr#   c	                   K   | j                         j                  | j                  |||||	|
|||||||       d{   S 7 w)ae  Shortcut for::

             await bot.send_sticker(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   rf   rw   rx   rK   rL   rM   rN   r7   ry   r{   r|   r   N)rS   send_stickerr2   )r=   r   rf   rw   rx   ry   r{   r|   r   rK   rL   rM   rN   r7   s                 r?   r   zUser.send_sticker  s^     < \\^00GG!5 3%%'+%!(C+/ 1 
 
 	
 
s   ;AAAvideor&   supports_streamingc                   K   | j                         j                  | j                  |||||||||||||	|
||||||||       d{   S 7 w)aa  Shortcut for::

             await bot.send_video(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   rf   rw   rx   rK   rL   rM   rN   r   r   ru   r   r   r7   ry   r   r   r{   r|   r   N)rS   
send_videor2   )r=   r   r   r   rf   rw   rx   r   r   ru   r   ry   r   r{   r|   r   r   r   rK   rL   rM   rN   r7   s                          r?   r   zUser.send_videoM  sz     N \\^..GG!5 3%%'+%!1!(C-+/#/ / 
 
 	
 
s   AAAA)venuerK   rL   rM   rN   r7   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typer   r%   c                   K   | j                         j                  | j                  ||||||||||||||	||
||||       d{   S 7 w)aa  Shortcut for::

             await bot.send_venue(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   r   r   rf   rw   rx   rK   rL   rM   rN   r   r   r7   r   r   ry   r{   r|   N)rS   
send_venuer2   )r=   r   r   r   r   r   rf   rw   rx   r   r   r   ry   r{   r|   r   rK   rL   rM   rN   r7   s                        r?   r   zUser.send_venue  st     J \\^..GG'!5 3%%'+%+!+/(C+/+ / 
 
 	
 
r   
video_noter'   lengthc                   K   | j                         j                  | j                  |||||||||||||||	|
       d{   S 7 w)ak  Shortcut for::

             await bot.send_video_note(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   rf   rw   rx   rK   rL   rM   rN   r7   ry   r   r{   r|   r   N)rS   send_video_noter2   )r=   r   r   r   rf   rw   rx   ry   r{   r|   r   r   rK   rL   rM   rN   r7   s                    r?   r   zUser.send_video_note  sh     B \\^33GG!!5 3%%'+%!(C+/# 4 
 
 	
 
r   voicer(   c                   K   | j                         j                  | j                  ||||||||||||||	||
|       d{   S 7 w)aa  Shortcut for::

             await bot.send_voice(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   rf   rw   rx   rK   rL   rM   rN   ru   r7   ry   r   r   r{   r|   N)rS   
send_voicer2   )r=   r   r   r   rf   rw   rx   ru   ry   r   r{   r|   r   rK   rL   rM   rN   r7   s                     r?   r   zUser.send_voice   sk     D \\^..GG!5 3%%'+%!!(C-+/% / 
 
 	
 
r   questionoptionsis_anonymoustypeallows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesc                   K   | j                         j                  | j                  |||||||||	|
|||||||||||||       d{   S 7 w)a_  Shortcut for::

             await bot.send_poll(update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   r   r   r   r   r   r   rf   rw   rx   rK   rL   rM   rN   r   r   r   r   r7   ry   r   r{   r|   N)rS   	send_pollr2   )r=   r   r   r   r   r   r   r   rf   rw   rx   r   r   r   r   ry   r   r{   r|   rK   rL   rM   rN   r7   s                           r?   r   zUser.send_poll7  s}     P \\^--GG%$;/!5 3%%'+%##9#!!(C!5+/1 . 
 
 	
 
s   AAAAfrom_chat_idr!   c                   K   | j                         j                  | j                  |||||||||	||||||
|       d{   S 7 w)am  Shortcut for::

             await bot.copy_message(chat_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )rh   r   re   r   ru   r   rf   rw   ry   rx   rK   rL   rM   rN   r7   r{   r|   NrS   copy_messager2   )r=   r   re   r   ru   r   rf   rw   ry   rx   r{   r|   rK   rL   rM   rN   r7   s                    r?   	send_copyzUser.send_copyz  sh     B \\^00GG%!!-!5 3(C%%'+%!+/# 1 
 
 	
 
r   rh   c                   K   | j                         j                  | j                  |||||||||	||||||
|       d{   S 7 w)ar  Shortcut for::

             await bot.copy_message(from_chat_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.

        )r   rh   re   r   ru   r   rf   rw   ry   rx   rK   rL   rM   rN   r7   r{   r|   Nr   )r=   rh   re   r   ru   r   rf   rw   ry   rx   r{   r|   rK   rL   rM   rN   r7   s                    r?   r   zUser.copy_message  sh     B \\^00!!-!5 3(C%%'+%!+/# 1 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a  Shortcut for::

             await bot.approve_chat_join_request(user_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        .. versionadded:: 13.8

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.

        rR   rh   rK   rL   rM   rN   r7   N)rS   approve_chat_join_requestr2   r=   rh   rK   rL   rM   rN   r7   s          r?   approve_join_requestzUser.approve_join_request  I     4 \\^==GG%'+%! > 
 
 	
 
rn   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a  Shortcut for::

             await bot.decline_chat_join_request(user_id=update.effective_user.id, *args, **kwargs)

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

        Note:
            |user_chat_id_note|

        .. versionadded:: 13.8

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.

        r   N)rS   decline_chat_join_requestr2   r   s          r?   decline_join_requestzUser.decline_join_request  r   rn   menu_buttonc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a  Shortcut for::

             await bot.set_chat_menu_button(chat_id=update.effective_chat.id, *args, **kwargs)

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

        .. seealso:: :meth:`get_menu_button`

        Note:
            |user_chat_id_note|

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rh   r   rK   rL   rM   rN   r7   N)rS   set_chat_menu_buttonr2   )r=   r   rK   rL   rM   rN   r7   s          r?   set_menu_buttonzUser.set_menu_button,  sI     6 \\^88GG#%'+%! 9 
 
 	
 
rn   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)a  Shortcut for::

             await bot.get_chat_menu_button(chat_id=update.effective_user.id, *args, **kwargs)

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

        .. seealso:: :meth:`set_menu_button`

        Note:
            |user_chat_id_note|

        .. versionadded:: 20.0

        Returns:
            :class:`telegram.MenuButton`: On success, the current menu button is returned.
        rp   N)rS   get_chat_menu_buttonr2   rr   s         r?   get_menu_buttonzUser.get_menu_buttonQ  sF     4 \\^88GG%'+%! 9 
 
 	
 
rt   )NNNNNNNN)NN)N)>__name__
__module____qualname____doc__	__slots__intstrboolr   r   r:   propertyrF   rD   rJ   r   r   floatrU   r   r^   r   r	   rd   rj   rm   rs   r   r   r~   r   r   r   r   r   r   r   send_actionr   r   r   r   objectr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r  r  __classcell__)r>   s   @r?   r*   r*   :   s   8tI& $("&'+*.6:26%)37! *.!! ! 	!
 C=! 3-!  }! "$! &.d^! "*$! TN! #+4.! X&!F c   3   hsm   !%#

 )5)5+7(4)-

 }

 uo
  
 "%
 uo
 X&
 
%	&
<AXc] Ac A$L L L=# =# =`8C= `<P `$ 0<!

 )5)5+7(4)-!
!
 'tn!

 uo!
  !
 "%!
 uo!
 X&!
 
!
J %)
 )5)5+7(4)-
SM
 uo	

  
 "%
 uo
 X&
 

H )5)5+7(4)-
 uo
  	

 "%
 uo
 X&
 

F %13?/;-1.26B8<*6+/1
 )5)5+7(4)-#1
1
 SM1
 #+4.	1

 'tn1
 &c]1
 {+1
 &.d^1
 8O451
 "$1
 $C=1
 uo1
  1
 "%1
  uo!1
" X&#1
$ 
%1
l "&/;-1.2$06B@D*6+/&*5
 #'(4)5+7(4)-'5
Y+,5
 #5
 'tn	5

 &c]5
 {+5
 SM5
 &.d^5
 #8O#<=5
 "$5
 $C=5
 d^5
 3-5
 uo5
   !5
" "%#5
$ uo%5
& X&'5
( 
)5
x 0<-16B*6+/2
 )5)5+7(4)-!%$0@D%2
_`
2

 'tn2
 &c]2
 &.d^2
 "$2
 $C=2
 uo2
  2
 "%2
 uo2
 X&2
  #!2
" SM#2
$ #8O#<=%2
& 
~	'2
n #'#'#!%/;-1.2$06B@D*6+/)-;
" #'(4)5+7(4)--;
Y'(;
 3-;
 C=	;

 };
 #;
 'tn;
 &c];
 {+;
 SM;
 &.d^;
 #8O#<=;
 "$;
 $C=;
 I&;
" 3-#;
$ uo%;
&  ';
( "%);
* uo+;
, X&-;
. 
/;
@ ,0!

 )5)5+7(4)-!
!
 $C=!

 uo!
  !
 "%!
 uo!
 X&!
 
!
F #K, '+$(#'/;-1.2#6B*6+/3
 (,(4)5+7(4)-%3
sm3
 SM3
 C=	3

 'tn3
 &c]3
 {+3
 }3
 &.d^3
 "$3
 $C=3
 )$3
 uo3
  3
  "%!3
" uo#3
$ X&%3
& 
'3
n 0<-1.2#6B*6+/+
 )5)5+7(4)-+
&tn+
 &c]+
 {+	+

 }+
 &.d^+
 "$+
 $C=+
 uo+
  +
 "%+
 uo+
 X&+
 
+
` "&/;-1.2$09=6B@D*6+/)-7
 #'(4)5+7(4)-)7
	:-.7
 #7
 'tn	7

 &c]7
 {+7
 SM7
 )17
 &.d^7
 #8O#<=7
 "$7
 $C=7
 I&7
 3-7
  uo!7
"  #7
$ "%%7
& uo'7
( X&)7
* 
+7
x 0<-19=6B*6+/+
 )5)5+7(4)-+
+
 'tn+
 &c]	+

 56+
 &.d^+
 "$+
 $C=+
 uo+
  +
 "%+
 uo+
 X&+
 
+
j *.#'$(%)&*$(,0%)04&*/;-19=6:8<156B(,9=*6+/9]
< )5)5+7(4)-E]
]
 ]
 	]

 ]
 ]
 (]
 "#]
 C=]
 SM]
 c]]
 sm]
 D>]
 $D>]
 TN]
   (~!]
" d^#]
$ 'tn%]
& &c]']
( 56)]
*  c6k 23+]
, (0~-]
. !)/]
0 &.d^1]
2 !3]
4  (65]
6 "$7]
8 $C=9]
< uo=]
>  ?]
@ "%A]
B uoC]
D X&E]
F 
G]
B %)%)/;-1.2%)/3!%046B*6+/7
 *.(4)5+7(4)-)7
5/7
 E?7
 'tn	7

 &c]7
 {+7
 c]7
 &e_7
 #7
 !)7
 &.d^7
 "$7
 $C=7
 :&7
  uo!7
"  #7
$ "%%7
& uo'7
( X&)7
* 
+7
x #'# $!%$0/;-1.26B@D*6+/&*)-!=
$ #'(4)5+7(4)-/=
K/0=
 3-=
 }	=

 =
 #=
 SM=
 'tn=
 &c]=
 {+=
 &.d^=
 #8O#<==
 "$=
 $C==
 d^=
  I&!=
$ 3-%=
& uo'=
(  )=
* "%+=
, uo-=
. X&/=
0 
1=
D 0<-1.26B*6+/#-
 )5)5+7(4)--
y)+,-
 'tn-
 &c]	-

 {+-
 &.d^-
 "$-
 $C=-
 }-
 uo-
  -
 "%-
 uo-
 X&-
  
!-
d #'!%/;-1.2# $$0-16B@D*6+/&*)-#?
& #'(4)5+7(4)-1?
Y'(?
 3-?
 #	?

 'tn?
 &c]?
 {+?
 }?
 ?
 SM?
 %TN?
 &.d^?
 #8O#<=?
 "$?
 $C=?
  d^!?
" I&#?
& 3-'?
( uo)?
*  +?
, "%-?
. uo/?
0 X&1?
2 
3?
F %)%)#!%'+/;-1.2)-)-+/6B*6+/;
" $((4)5+7(4)--;
5/;
 E?;
 }	;

 #;
  };
 'tn;
 &c];
 {+;
 "#;
 "#;
 $C=;
 &.d^;
 "$;
 $C=;
"  #;
$ uo%;
&  ';
( "%);
* uo+;
, X&-;
. 
/;
@ #' $/;-1.26B*6+/)-3
 #'(4)5+7(4)-%3
)[013
 3-3
 	3

 'tn3
 &c]3
 {+3
 &.d^3
 "$3
 $C=3
 I&3
 3-3
 uo3
  3
  "%!3
" uo#3
$ X&%3
& 
'3
p #'!%/;-1.2$06B@D*6+/5
 #'(4)5+7(4)-'5
Y'(5
 3-5
 #	5

 'tn5
 &c]5
 {+5
 SM5
 &.d^5
 #8O#<=5
 "$5
 $C=5
 3-5
 uo5
   !5
" "%#5
$ uo%5
& X&'5
( 
)5
v (,"267;$(/;-1.2%)0<%)596BDH*6+/'A
* )5)5+7(4)-3A
A
 #A
 tn	A

 smA
 "*$A
 $O4A
 D>A
 'tnA
 &c]A
 {+A
 c]A
 !)A
 c]A
 U3=12A
  &.d^!A
" 'x'@A#A
$ "$%A
& $C='A
* uo+A
,  -A
. "%/A
0 uo1A
2 X&3A
4 
5A
N "&$0@D/;-16B.2*6+/3
 )5)5+7(4)-%3
CHo3
 3
 #	3

 SM3
 #8O#<=3
 'tn3
 &c]3
 &.d^3
 {+3
 "$3
 $C=3
 uo3
  3
  "%!3
" uo#3
$ X&%3
& 
'3
r "&$0@D/;-16B.2*6+/3
 )5)5+7(4)-%3
sCx3
 3
 #	3

 SM3
 #8O#<=3
 'tn3
 &c]3
 &.d^3
 {+3
 "$3
 $C=3
 uo3
  3
  "%!3
" uo#3
$ X&%3
& 
'3
r )5)5+7(4)-"
sCx"
 uo	"

  "
 "%"
 uo"
 X&"
 
"
P )5)5+7(4)-"
sCx"
 uo	"

  "
 "%"
 uo"
 X&"
 
"
L -1#
 )5)5+7(4)-#
j)#
 uo	#

  #
 "%#
 uo#
 X&#
 
#
P )5)5+7(4)-!
 uo!
  	!

 "%!
 uo!
 X&!
 
!
r@   r*   N)2r	  r   typingr   r   r   r   r   %telegram._inline.inlinekeyboardbuttonr	   telegram._menubuttonr
   telegram._telegramobjectr   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   telegram.helpersr   r`   r   rY   telegramr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r*   r   r@   r?   <module>r     s[   ( F  B B F + 3 5 ] ] A I     2x
> x
r@   