
    Qi`                       d Z ddlZddlmZ ddl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r8d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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6  G d de      Z7y)z?This module contains an object that represents a Telegram User.    N)Sequence)TYPE_CHECKINGOptionalUnion)InlineKeyboardButton)
MenuButton)TelegramObject)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInputReplyMarkup)mention_html)mention_markdown)	AnimationAudioContactDocumentGiftInlineKeyboardMarkupInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoInputPollOptionLabeledPriceLinkPreviewOptionsLocationMessageMessageEntity	MessageId	PhotoSizeReplyParametersStickerUserChatBoostsUserProfilePhotosVenueVideo	VideoNoteVoicec            J           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   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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	   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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ddededdddfddeeeeedd,d-ed.ee   d'ee   d/ee   d0eed1      d2ee   d3ee   d4ed5   d6ed7   d(ee   d8ee   d9e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d=f*d>Z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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e	   defdAZdedededddddddfdedeeeeddBdCe e!dDf   dEee   d'ee   d/ee   d.ee   dFeed1      d2ee   d3ee   dGee   d6ed7   d(ee   d8ee   d9ee   dHee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f.dJZ"eedddddfdeeeeeddeddK
dLee dM      d'ee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dEee   d.ee   dFeed1      de#dN   f&dOZ$ddddedededdddddfdedeeeeddBdPe e!dQf   dRee   dSee   dTee   dEee   d'ee   d/ee   d.ee   dFeed1      d2ee   d3ee   dUee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f2dVZ%	 	 deeeedddWed3ee   d(ee   dee   dee   dee   dee   dee	   defdXZ&e&Z'	 dddeddedddddfdedeeeeddYdZee   dee   dee   d'ee   d/ee   d[ee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   d\ed]   dee   dee   dee   dee   dee	   dd=f*d^Z(eddedddddf	deeeeedd_d'ee   d/ee   d`ee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dd=f"daZ)dededdeddddddfdedeeeeddBdbe e!dcf   dEee   d'ee   d/ee   d.ee   ddee   dFeed1      d2ee   d3ee   dUee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f.deZ*ededddddfdeeeeedd_dfed'ee   d/edg   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dd=f"dhZ+ddddddddddeddddddeddddfdeeeeedd_dTediedjedkee   dledmedn   doee   dpee   dqee   dree   dsee   dtee   duee   dvee   dwee   dxee   d'ee   d/edg   dyee ee,f      dzee   d{ee   d|ee   d}eee      d2ee   d3ee   d6ed7   d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dd=fHd~Z-ddedddddedddddfdedeeeedddee   dee   d'ee   d/ee   dee   dee   dee   dee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   ded   dee   dee   dee   dee   dee	   dd=f.dZ.ddddeeddeddddddddfdedeeeeddBde e!df   dRee   dee   dee   dEee   d.ee   d'ee   d/ee   dFeed1      d2ee   d3ee   dGee   dUee!   d6ed7   d(ee   d8ee   d9ee   dHee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f6dZ/ededdddddf	deeeeedd_de e!df   d'ee   d/ee   d2ee   d3ee   d`ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dd=f$dZ0ddedddeddeddddddddfdedeeeeddBde e!df   dRee   dEee   d'ee   d/ee   dee   dee   d.ee   dee   dFeed1      d2ee   d3ee   dGee   dUee!   d6ed7   d(ee   d8ee   d9ee   dHee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f8dZ1dddddeddddedddddfdedeeeedddee   dee   dTee   dee   dee   d'ee   d/ee   dee   dee   dee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   ded   dee   dee   dee   dee   dee	   dd=f2dZ2ddededdddddfdedeeeeddBde e!df   dRee   dee   d'ee   d/ee   d2ee   d3ee   dUee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f*dZ3ddedededddddfdedeeeeddBde e!df   dRee   dEee   d'ee   d/ee   d.ee   dFeed1      d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d<ee   dIee   dee   dee   dee   dee   dee	   dd=f,dZ4dddddeddedddedddedddfdeeeeedd_dedee edf      dee   dee   dee   dee5   dee   d'ee   d/ee   dee   dee   dee   dee ee6jn                  f      deed1      d2ee   d3ee   d6ed7   d(ee   dee   deed1      d8ee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   dd=f<dZ8deddfeeeeddde edf   d-ee   dee   deed1      dee   dee   dee   dee   dee   dee	   defdZ9dedededdddf
deeeeedd_de eef   d&edEee   d.ee   dFeed1      d'ee   d/ee   d2ee   d3ee   d6ed7   dHee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   ddf(dZ:dedededdddf
deeeeedd_de eef   d&edEee   d.ee   dFeed1      d'ee   d/ee   d2ee   d3ee   d6ed7   dHee   d9ee   d:ee   d<ee   dee   dee   dee   dee   dee	   ddf(dZ;eeddfeeeeddde eef   d@ee   d'ee   d2ee   d3ee   dee   dee   dee   dee   dee   dee	   de#d   fdZ<eeddfeeeeddde eef   d@ee   d'ee   d2ee   d3ee   dee   dee   dee   dee   dee   dee	   de#d   fdÄZ=eedfeeeeddde eef   d&ed'ee   d2ee   d3ee   dee   dee   dee   dee   dee	   dd=fdĄZ>eedfeeeeddde eef   d&ed'ee   d2ee   d3ee   dee   dee   dee   dee   dee	   dd=fdńZ?eedfeeeeddde eef   d@ee   d'ee   d2ee   d3ee   dee   dee   dee   dee   dee	   de#d   fdƄZ@eedfeeeeddde eef   d@ee   d'ee   d2ee   d3ee   dee   dee   dee   dee   dee	   de#d   fdǄZAe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ȄZBe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ɄZC	 deeeedddeeD   dee   dee   dee   dee   dee	   defd˄ZEeeeedddee   dee   dee   dee   dee	   deDfd̄ZFe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dfd΄ZGeeeedddedee   dee   dee   dee   dee	   defdЄZH	 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҄ZIeeeedddee   dee   dee   dee   dee	   defdӄZJ xZKS )Userae  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 :meth:`telegram.Bot.get_me`.
        can_read_all_group_messages (:obj:`str`, optional): :obj:`True`, if privacy mode is
            disabled for the bot. Returned only in :meth:`telegram.Bot.get_me`.
        supports_inline_queries (:obj:`str`, optional): :obj:`True`, if the bot supports inline
            queries. Returned only in :meth:`telegram.Bot.get_me`.

        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
        can_connect_to_business (:obj:`bool`, optional): :obj:`True`,  if the bot can be connected
            to a Telegram Business account to receive its messages. Returned only in
            :meth:`telegram.Bot.get_me`.

            .. versionadded:: 21.1
        has_main_web_app (:obj:`bool`, optional): :obj:`True`, if the bot has the main Web App.
            Returned only in :meth:`telegram.Bot.get_me`.

            .. versionadded:: 21.5

    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
        can_connect_to_business (:obj:`bool`): Optional. :obj:`True`,  if the bot can be connected
            to a Telegram Business account to receive its messages. Returned only in
            :meth:`telegram.Bot.get_me`.

            .. versionadded:: 21.1
        has_main_web_app (:obj:`bool`) Optional. :obj:`True`, if the bot has the main Web App.
            Returned only in :meth:`telegram.Bot.get_me`.

            .. versionadded:: 21.5

    .. |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.
    )added_to_attachment_menucan_connect_to_businesscan_join_groupscan_read_all_group_messages
first_namehas_main_web_appidis_bot
is_premiumlanguage_code	last_namesupports_inline_queriesusernameN
api_kwargsr4   r2   r5   r8   r:   r7   r0   r1   r9   r6   r.   r/   r3   r<   c                    t         |   |       || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        || _        || _        | j                  f| _        | j!                          y )Nr;   )super__init__r4   r2   r5   r8   r:   r7   r0   r1   r9   r6   r.   r/   r3   	_id_attrs_freeze)selfr4   r2   r5   r8   r:   r7   r0   r1   r9   r6   r.   r/   r3   r<   	__class__s                  9/app/.venv/lib/python3.12/site-packages/telegram/_user.pyr?   zUser.__init__   s    $ 	J/)"(1'/,9/>;V(7N$*48P%7N$0@''    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rB   s    rD   namez	User.name   s&    
 ==t}}o&&~~rE   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`.
         )r8   r2   rJ   s    rD   rI   zUser.full_name   s0    
 >>oo&a'788rE   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:   rJ   s    rD   linkz	User.link   s    
 =="4==/22rE   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr<   offsetlimitrP   rQ   rR   rS   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_idrT   rU   rP   rQ   rR   rS   r<   N)get_botget_user_profile_photosr4   )rB   rT   rU   rP   rQ   rR   rS   r<   s           rD   get_profile_photoszUser.get_profile_photos   sL     & \\^;;GG%'+%! < 	
 	
 		
 	
   5><>rK   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_markdownr4   rI   rB   rK   s     rD   r   zUser.mention_markdown   s-     +DGGT::'@@rE   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).

           )versionr]   r_   s     rD   mention_markdown_v2zUser.mention_markdown_v2  s1     +DGGT1EE'KKrE   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_htmlr4   rI   r_   s     rD   r   zUser.mention_html  s-     '66#DGGT^^<<rE   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   rI   r4   r_   s     rD   mention_buttonzUser.mention_button+  s)     $)?}UYU\U\T]E^__rE   
message_iddisable_notificationbusiness_connection_idc                   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_idrj   rk   rP   rQ   rR   rS   rl   r<   N)rX   pin_chat_messager4   )	rB   rj   rk   rl   rP   rQ   rR   rS   r<   s	            rD   pin_messagezUser.pin_message:  sO     2 \\^44GG!!5%'+%#9! 5 

 

 
	
 

   6?=?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.

        )rn   rP   rQ   rR   rS   r<   rj   rl   N)rX   unpin_chat_messager4   )rB   rj   rl   rP   rQ   rR   rS   r<   s           rD   unpin_messagezUser.unpin_message_  sL     0 \\^66GG%'+%!!#9 7 	
 	
 		
 	
r[   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.

        rn   rP   rQ   rR   rS   r<   N)rX   unpin_all_chat_messagesr4   rB   rP   rQ   rR   rS   r<   s         rD   unpin_all_messageszUser.unpin_all_messages  sF     . \\^;;GG%'+%! < 
 
 	
 
   3<:<)reply_to_message_iddisable_web_page_previewallow_sending_without_replyrP   rQ   rR   rS   r<   rg   
parse_modereply_markupentitiesr!   protect_contentmessage_thread_idlink_preview_optionsr   reply_parametersr$   message_effect_idallow_paid_broadcastr{   r|   r}   r    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.

        )rn   rg   r~   r|   r   rk   r{   r   r   r}   r   r   r   rP   rQ   rR   rS   r<   rl   r   r   N)rX   send_messager4   )rB   rg   r~   rk   r   r   r   r   r   r   rl   r   r   r{   r|   r}   rP   rQ   rR   rS   r<   s                        rD   r   zUser.send_message  st     J \\^00GG!%=!5!5 3-%(C+/%'+%!#9/!5+ 1 
 
 	
 
   AAA	Ac          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a<  Shortcut for::

             await bot.delete_message(update.effective_user.id, *argss, **kwargs)

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

        .. versionadded:: 20.8

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

        )rn   rj   rP   rQ   rR   rS   r<   N)rX   delete_messager4   )rB   rj   rP   rQ   rR   rS   r<   s          rD   r   zUser.delete_message  sI     , \\^22GG!%'+%! 3 
 
 	
 
   4=;=message_idsc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a>  Shortcut for::

             await bot.delete_messages(update.effective_user.id, *argss, **kwargs)

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

        .. versionadded:: 20.8

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

        )rn   r   rP   rQ   rR   rS   r<   N)rX   delete_messagesr4   )rB   r   rP   rQ   rR   rS   r<   s          rD   r   zUser.delete_messages  sI     , \\^33GG#%'+%! 4 
 
 	
 
r   )r{   r}   filenamerP   rQ   rR   rS   r<   photor#   captioncaption_entitieshas_spoilershow_caption_above_mediar   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.

        )rn   r   r   rk   r{   r   r   r~   r}   r   r   r   r   rP   rQ   rR   rS   r<   r   rl   r   r   r   N)rX   
send_photor4   )rB   r   r   rk   r   r~   r   r   r   r   r   rl   r   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                          rD   r   zUser.send_photo  sz     N \\^..GG!5 3-%!(C-+/%'+%!##9/!5%=/ / 
 
 	
 
   AAAA)
r{   r}   rP   rQ   rR   rS   r<   r   r~   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.

        )rn   r   rk   r{   r   rP   rQ   rR   rS   r<   r}   r   r   r   r~   r   rl   r   r   N)rX   send_media_groupr4   )rB   r   rk   r   r   r   rl   r   r   r{   r}   rP   rQ   rR   rS   r<   r   r~   r   s                      rD   r   zUser.send_media_group`  sn     L \\^44GG!5 3-%'+%!(C+/!-#9/!5' 5 
 
 	
 
s   A 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.

        )rn   r   r   r   r   r   rk   r{   r   r   r~   r}   r   r   r   r   rP   rQ   rR   rS   r<   r   rl   r   r   N)rX   
send_audior4   )rB   r   r   r   r   r   rk   r   r~   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                            rD   r   zUser.send_audio  s     R \\^..GG!5 3-%!(C-+/%'+%!#9/!53 / 
 
 	
 
   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.

        )	rn   r   r   rP   rQ   rR   rS   r<   rl   N)rX   send_chat_actionr4   )	rB   r   r   rl   rP   rQ   rR   rS   r<   s	            rD   r   zUser.send_chat_action  sO     2 \\^44GG/%'+%!#9 5 

 

 
	
 

rq   )r{   r}   contactrP   rQ   rR   rS   r<   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.

        )rn   r   r2   r8   rk   r{   r   r   rP   rQ   rR   rS   r   r   r<   r}   r   r   rl   r   r   N)rX   send_contactr4   )rB   r   r2   r8   rk   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                        rD   r   zUser.send_contact	  st     J \\^00GG%!!5 3-%%'+%!(C+/#9/!5+ 1 
 
 	
 
r   )r{   r}   rP   rQ   rR   rS   r<   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.

        )rn   rk   r{   r   r   rP   rQ   rR   rS   r   r<   r}   r   r   rl   r   r   N)rX   	send_dicer4   )rB   rk   r   r   r   r   r   rl   r   r   r{   r}   rP   rQ   rR   rS   r<   s                    rD   r   zUser.send_diceF  sh     B \\^--GG!5 3-%%'+%!(C+/#9/!5# . 
 
 	
 
   >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.

        )rn   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r~   r   r<   r   r}   r   r   r   rl   r   r   N)rX   send_documentr4   )rB   r   r   rk   r   r~   r   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                          rD   r   zUser.send_document{  sz     N \\^11GG!5 3-%%'+%!!+I(C-+/#9/!5/ 2 
 
 	
 
r   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.

        )rn   r   rk   r{   r   r   rP   rQ   rR   rS   r<   r}   r   r   rl   r   r   N)rX   	send_gamer4   )rB   r   rk   r   r   r   r   rl   r   r   r{   r}   rP   rQ   rR   rS   r<   s                    rD   r   zUser.send_game  sh     B \\^--GG+!5 3-%%'+%!(C+/#9/!5# . 
 
 	
 
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                F  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"|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.

        rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rk   r{   r   r   r   r   r   rP   rQ   rR   rS   r<   r}   r   r   r   r   r   r   N )rX   send_invoicer4   )$rB   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rk   r   r   r   r   r   r   r   r   r   r   r   r{   r}   rP   rQ   rR   rS   r<   s$                                       rD   r   zUser.send_invoice  s    | 1T\\^00 %
GG%
%
 $%
 	%

 *%
 %
 %
 ,%
  %
 "%
 $%
 &%
  %
 0%
 "%
  #8!%
" $#%
$ "6%%
& !4'%
( .)%
* &+%
, (-%
. +H/%
0 $:1%
2 &3%
4 (5%
6 ,7%
8 &9%
: ";%
< )D=%
> *?%
@ #8A%
B ,C%
D 0E%
F 0G%
H "6I%
 %
 %	
 %
s   BB!BB!)r{   r}   locationrP   rQ   rR   rS   r<   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.

        )rn   r   r   rk   r{   r   r   rP   rQ   rR   rS   r   r   r<   r   r   r   r}   r   r   rl   r   r   N)rX   send_locationr4   )rB   r   r   rk   r   r   r   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                          rD   r   zUser.send_locationV  sz     N \\^11GG!5 3-%%'+%#! 3#9(C+/#9/!5/ 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.

        )rn   r   r   r   r   r   r~   rk   r{   r   r   rP   rQ   rR   rS   r<   r}   r   r   r   r   r   r   rl   r   r   r   N)rX   send_animationr4   )rB   r   r   r   r   r   r~   rk   r   r   r   r   r   r   r   rl   r   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                              rD   r   zUser.send_animation  s     V \\^22GG!!5 3-%%'+%!(C-+/##9/!5%=7 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.

        )rn   r   rk   r{   r   r   rP   rQ   rR   rS   r<   r}   r   r   r   rl   r   r   N)rX   send_stickerr4   )rB   r   rk   r   r   r   r   r   rl   r   r   r{   r}   rP   rQ   rR   rS   r<   s                     rD   r   zUser.send_sticker  sk     D \\^00GG!5 3-%%'+%!(C+/#9/!5% 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.

        )rn   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r   r   r~   r   r   r<   r}   r   r   r   r   r   rl   r   r   r   N)rX   
send_videor4   )rB   r   r   r   rk   r   r   r   r~   r   r   r   r   r   r   r   rl   r   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                               rD   r   zUser.send_video  s     X \\^..GG!5 3-%%'+%!1!(C-+/##9/!5%=9 / 
 
 	
 
s   A	AAA)r{   r}   venuerP   rQ   rR   rS   r<   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.

        )rn   r   r   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r   r   r<   r   r   r}   r   r   rl   r   r   N)rX   
send_venuer4   )rB   r   r   r   r   r   rk   r   r   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                            rD   r   zUser.send_venueb  s     R \\^..GG'!5 3-%%'+%+!+/(C+/#9/!53 / 
 
 	
 
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.

        )rn   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r<   r}   r   r   r   r   rl   r   r   N)rX   send_video_noter4   )rB   r   r   r   rk   r   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                        rD   r   zUser.send_video_note  st     J \\^33GG!!5 3-%%'+%!(C+/#9/!5+ 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.

        )rn   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r~   r<   r}   r   r   r   r   rl   r   r   N)rX   
send_voicer4   )rB   r   r   r   rk   r   r~   r   r   r   r   rl   r   r   r{   r}   r   rP   rQ   rR   rS   r<   s                         rD   r   zUser.send_voice  sw     L \\^..GG!5 3-%%'+%!!(C-+/#9/!5- / 
 
 	
 
s   AAA
Aquestionoptionsr   is_anonymoustypeallows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesquestion_parse_modequestion_entitiesc                "  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{   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.

        rn   r   r   r   r   r   r   r   rk   r{   r   r   rP   rQ   rR   rS   r   r   r   r   r<   r}   r   r   r   rl   r   r   r   r   Nr   )rX   	send_pollr4   )rB   r   r   r   r   r   r   r   rk   r   r   r   r   r   r   r   r   r   rl   r   r   r   r   r{   r}   rP   rQ   rR   rS   r<   s                                 rD   r  zUser.send_poll#  s[    \ .T\\^-- 
GG

 
 &	

 
 %<
 0
  
 "6
 !4
 .
 &
 &
 (
 ,
  &!
" $#
$ $:%
& $'
( ")
* "+
, )D-
. "6/
0 ,1
2 03
4 $:5
6 !47
8 09
: 0;
< "6=
 
 	
 
s   BBB	Bgift_idr   text_parse_modetext_entitiespay_for_upgradec                   K   | j                         j                  | j                  |||||||||	|
       d{   S 7 w)a:  Shortcut for::

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

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

        .. versionadded:: 21.8

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rW   r  rg   r  r  r  rP   rQ   rR   rS   r<   N)rX   	send_giftr4   )rB   r  rg   r  r  r  rP   rQ   rR   rS   r<   s              rD   r  zUser.send_giftr  sU     2 \\^--GG+'+%'+%! . 
 
 	
 
   8A?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.

        )rn   r	  rj   r   r~   r   rk   r{   r   r}   r   rP   rQ   rR   rS   r<   r   r   r   r   NrX   copy_messager4   )rB   r	  rj   r   r~   r   rk   r   r   r   r   r   r   r{   r}   rP   rQ   rR   rS   r<   s                       rD   	send_copyzUser.send_copy  sq     H \\^00GG%!!-!5 3-(C%%'+%!+/%=!5) 1 
 
 	
 
   AA
AA
rn   c                   K   | j                         j                  | j                  ||||||||
|||||||||	||       d{   S 7 w)au  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.MessageId`: On success, returns the MessageId of the sent message.

        )r	  rn   rj   r   r~   r   rk   r{   r   r}   r   rP   rQ   rR   rS   r<   r   r   r   r   Nr  )rB   rn   rj   r   r~   r   rk   r   r   r   r   r   r   r{   r}   rP   rQ   rR   rS   r<   s                       rD   r  zUser.copy_message  sq     H \\^00!!-!5 3-(C%%'+%!+/%=!5) 1 
 
 	
 
r  remove_caption)r"   .c                   K   | j                         j                  | j                  |||||||||	|
|       d{   S 7 w)a  Shortcut for::

             await bot.copy_messages(chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`copy_message`, :meth:`send_copy`, :meth:`copy_messages`.

        .. versionadded:: 20.8

        Returns:
            tuple[:class:`telegram.MessageId`]: On success, a tuple of :class:`~telegram.MessageId`
            of the sent messages is returned.

        )rn   r	  r   rk   r   r   r  rP   rQ   rR   rS   r<   NrX   copy_messagesr4   )rB   r	  r   rk   r   r   r  rP   rQ   rR   rS   r<   s               rD   send_copieszUser.send_copies  sX     < \\^11GG%#!5+/)%'+%! 2 
 
 	
 
   9AA Ac                   K   | j                         j                  | j                  |||||||||	|
|       d{   S 7 w)a  Shortcut for::

             await bot.copy_messages(from_chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`copy_message`, :meth:`send_copy`, :meth:`send_copies`.

        .. versionadded:: 20.8

        Returns:
            tuple[:class:`telegram.MessageId`]: On success, a tuple of :class:`~telegram.MessageId`
            of the sent messages is returned.

        )r	  rn   r   rk   r   r   r  rP   rQ   rR   rS   r<   Nr  )rB   rn   r   rk   r   r   r  rP   rQ   rR   rS   r<   s               rD   r  zUser.copy_messages<  sX     < \\^11#!5+/)%'+%! 2 
 
 	
 
r  c                   K   | j                         j                  | j                  |||||||	|
||       d{   S 7 w)a  Shortcut for::

             await bot.forward_message(chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`forward_to`, :meth:`forward_messages_from`, :meth:`forward_messages_to`

        .. versionadded:: 20.0

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

        )rn   r	  rj   rk   rP   rQ   rR   rS   r<   r   r   NrX   forward_messager4   )rB   r	  rj   rk   r   r   rP   rQ   rR   rS   r<   s              rD   forward_fromzUser.forward_fromi  sU     8 \\^33GG%!!5%'+%!+/ 4 
 
 	
 
r  c                   K   | j                         j                  | j                  |||||||	|
||       d{   S 7 w)a  Shortcut for::

             await bot.forward_message(from_chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`forward_from`, :meth:`forward_messages_from`,
            :meth:`forward_messages_to`

        .. versionadded:: 20.0

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

        )r	  rn   rj   rk   rP   rQ   rR   rS   r<   r   r   Nr  )rB   rn   rj   rk   r   r   rP   rQ   rR   rS   r<   s              rD   
forward_tozUser.forward_to  sU     : \\^33!!5%'+%!+/ 4 
 
 	
 
r  c                   K   | j                         j                  | j                  |||||||||	|
       d{   S 7 w)a  Shortcut for::

             await bot.forward_messages(chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`forward_to`, :meth:`forward_from`, :meth:`forward_messages_to`.

        .. versionadded:: 20.8

        Returns:
            tuple[:class:`telegram.MessageId`]: On success, a tuple of :class:`~telegram.MessageId`
            of sent messages is returned.

        )rn   r	  r   rk   r   r   rP   rQ   rR   rS   r<   NrX   forward_messagesr4   )rB   r	  r   rk   r   r   rP   rQ   rR   rS   r<   s              rD   forward_messages_fromzUser.forward_messages_from  sU     : \\^44GG%#!5+/%'+%! 5 
 
 	
 
r  c                   K   | j                         j                  | j                  |||||||||	|
       d{   S 7 w)a  Shortcut for::

             await bot.forward_messages(from_chat_id=update.effective_user.id, *argss, **kwargs)

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

        .. seealso:: :meth:`forward_from`, :meth:`forward_to`, :meth:`forward_messages_from`.

        .. versionadded:: 20.8

        Returns:
            tuple[:class:`telegram.MessageId`]: On success, a tuple of :class:`~telegram.MessageId`
            of sent messages is returned.

        )r	  rn   r   rk   r   r   rP   rQ   rR   rS   r<   Nr  )rB   rn   r   rk   r   r   rP   rQ   rR   rS   r<   s              rD   forward_messages_tozUser.forward_messages_to  sU     : \\^44#!5+/%'+%! 5 
 
 	
 
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.

        rW   rn   rP   rQ   rR   rS   r<   N)rX   approve_chat_join_requestr4   rB   rn   rP   rQ   rR   rS   r<   s          rD   approve_join_requestzUser.approve_join_request  I     4 \\^==GG%'+%! > 
 
 	
 
r   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)rX   decline_chat_join_requestr4   r&  s          rD   decline_join_requestzUser.decline_join_request8  r(  r   menu_buttonc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)a  Shortcut for::

             await bot.set_chat_menu_button(chat_id=update.effective_user.id, *argss, **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.
        )rn   r,  rP   rQ   rR   rS   r<   N)rX   set_chat_menu_buttonr4   )rB   r,  rP   rQ   rR   rS   r<   s          rD   set_menu_buttonzUser.set_menu_button\  sI     6 \\^88GG#%'+%! 9 
 
 	
 
r   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.
        rv   N)rX   get_chat_menu_buttonr4   rx   s         rD   get_menu_buttonzUser.get_menu_button  sF     4 \\^88GG%'+%! 9 
 
 	
 
rz   r&   c          	      ~   K   | j                         j                  || j                  |||||       d{   S 7 w)az  Shortcut for::

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

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

        .. versionadded:: 20.8

        Returns:
            :class:`telegram.UserChatBoosts`: On success, returns the boosts applied by the user.
        )rn   rW   rP   rQ   rR   rS   r<   N)rX   get_user_chat_boostsr4   r&  s          rD   get_chat_boostszUser.get_chat_boosts  sI     , \\^88GG%'+%! 9 
 
 	
 
r   telegram_payment_charge_idc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)aT  Shortcut for::

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

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

        .. versionadded:: 21.3

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rW   r6  rP   rQ   rR   rS   r<   N)rX   refund_star_paymentr4   )rB   r6  rP   rQ   rR   rS   r<   s          rD   r8  zUser.refund_star_payment  sI     , \\^77GG'A%'+%! 8 
 
 	
 
r   custom_descriptionc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)aE  Shortcut for::

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

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

        .. versionadded:: 21.10

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rW   r9  rP   rQ   rR   rS   r<   N)rX   verify_userr4   )rB   r9  rP   rQ   rR   rS   r<   s          rD   verifyzUser.verify  sI     , \\^//GG1%'+%! 0 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)a_  Shortcut for::

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

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

        .. versionadded:: 21.10

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rW   rP   rQ   rR   rS   r<   N)rX   remove_user_verificationr4   rx   s         rD   remove_verificationzUser.remove_verification	  sF     * \\^<<GG%'+%! = 
 
 	
 
rz   )
NNNNNNNNNN)NN)N)L__name__
__module____qualname____doc__	__slots__intstrboolr   r   r?   propertyrK   rI   rO   r
   r   floatrZ   r   rc   r   r   ri   rp   rt   ry   r   r   r   r   r   r   r   r   tupler   r   r   send_actionr   r   r   r   objectr   r   r   r   r   r   r   r   r   dtmdatetimer  r  r  r  r  r  r  r  r   r"  r'  r+  r   r/  r2  r5  r8  r<  r?  __classcell__)rC   s   @rD   r-   r-   @   sU-   L\I* $("&'+*.6:26%)3726+/%  *.!%% % 	%
 C=% 3-%  }% "$% &.d^% "*$% TN% #+4.% "*$% #4.%  X&!%N c   3   hsm   !%#

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

 uo
  
 "%
 uo
 X&
 
%	&
<AXc] Ac A$L L L=# =# =`8C= `<P `$ 0<04	#
 )5)5+7(4)-#
#
 'tn#
 !)	#
 uo#
  #
 "%#
 uo#
 X&#
 
#
N %)04!

 )5)5+7(4)-!
SM!
 !)!

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

 "%
 uo
 X&
 

F %1/;.28<*6+/?K8<04+//3;
 .2376B(4)5+7(4)--;
;
 SM;
 'tn	;

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

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

  
 "%
 uo
 X&
 

F "&/;.2$0@D*6+/&*8<04+//337?
" .26B"&(4)5+7(4)-1?
Y+,?
 #?
 'tn	?

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

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

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

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

 "$3
 $C=3
 ##453
 !)3
 $C=3
 'tn3
 &c]3
 &.d^3
 uo3
  3
  "%!3
" uo#3
$ X&%3
& 
'3
p "&/;.2$09=@D*6+/)-8<04+//3?
" .26B"&(4)5+7(4)-1?
	:-.?
 #?
 'tn	?

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

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

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

 {+?
 c]?
 &e_?
 #?
 !)?
 "$?
 $C=?
 ##45?
 !)?
 $C=?
 'tn?
" &c]#?
$ &.d^%?
& :&'?
( uo)?
*  +?
, "%-?
. uo/?
0 X&1?
2 
3?
H #'# $!%$0/;.2@D*6+/&*)-8<04+//337'G
* .26B"&(4)5+7(4)-9G
K/0G
 3-G
 }	G

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

 "$5
 $C=5
 }5
 ##455
 !)5
 $C=5
 'tn5
 &c]5
 &.d^5
 uo5
   !5
" "%#5
$ uo%5
& X&'5
( 
)5
t #'!%/;.2# $$0-1@D*6+/&*)-8<04+//337)I
, .26B"&(4)5+7(4)-;I
Y'(I
 3-I
 #	I

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

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

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

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

 smM
 "*$M
 $O4M
 D>M
 'tnM
 {+M
 c]M
 !)M
 c]M
 U3#456M
 'x'@AM
  "$!M
" $C=#M
$ ##45%M
& !)'M
( &c])M
* $H_$=>+M
, $C=-M
. 'tn/M
2 &c]3M
4 &.d^5M
6 uo7M
8  9M
: "%;M
< uo=M
> X&?M
@ 
AM
d #)5=A*.%
 )5)5+7(4)-%
sF{#%
 sm%
 "#	%

   9:%
 "$%
 uo%
  %
 "%%
 uo%
 X&%
 
%
V "&$0@D/;.2*6+/8<37/39
 .26B(4)5+7(4)-+9
CHo9
 9
 #	9

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

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

 "$+
 $C=+
 !+
 uo+
  +
 "%+
 uo+
 X&+
 
	 +
b 0<*6+/)-+
 )5)5+7(4)-+
sCx+
 c]+
 'tn	+

 "$+
 $C=+
 !+
 uo+
  +
 "%+
 uo+
 X&+
 
	 +
b 0<*6+/(
 )5)5+7(4)-(
CHo(
 (
 'tn	(

 "$(
 $C=(
 uo(
  (
 "%(
 uo(
 X&(
 
(
\ 0<*6+/)
 )5)5+7(4)-)
sCx)
 )
 'tn	)

 "$)
 $C=)
 uo)
  )
 "%)
 uo)
 X&)
 
)
^ 0<*6+/)
 )5)5+7(4)-)
CHo)
 c])
 'tn	)

 "$)
 $C=)
 uo)
  )
 "%)
 uo)
 X&)
 
	 )
^ 0<*6+/)
 )5)5+7(4)-)
sCx)
 c])
 'tn	)

 "$)
 $C=)
 uo)
  )
 "%)
 uo)
 X&)
 
	 )
^ )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&!
 
!
N )5)5+7(4)-
sCx
 uo	

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

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

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

 "%
 uo
 X&
 

rE   r-   )8rC  rN  rM  collections.abcr   typingr   r   r   %telegram._inline.inlinekeyboardbuttonr   telegram._menubuttonr   telegram._telegramobjectr	   telegram._utils.defaultvaluer
   telegram._utils.typesr   r   r   r   r   telegram.helpersr   re   r   r^   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*   r+   r-   r   rE   rD   <module>rY     sc   ( F  $ 1 1 F + 3 5 ] ] A I      <`#
> `#
rE   