
    YPi}                    :   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mZ dd
l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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<  G d de      Z=y)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
TimePeriod)get_full_nameget_linkget_name)mention_html)mention_markdown)	AnimationAudioContactDocumentGiftInlineKeyboardMarkupInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoInputPollOptionLabeledPriceLinkPreviewOptionsLocationMessageMessageEntity	MessageId	PhotoSizeReplyParametersStickerSuggestedPostParametersUserChatBoostsUserProfilePhotosVenueVideo	VideoNoteVoicec            N       "    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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d<   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.dA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dBZeeeedddCee   dee   dee   dee   dee   dee	   defdDZdedededddddddddfdedeeeeddEdFe e!dGf   dHee   d'ee   d/ee   d.ee   dIeed1      d2ee   d3ee   dJee   d6ed7   d(ee   d8ee   d9ee   dKee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f2dMZ"eeddddddfdeeeeeddeddN
dOee dP      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ee	   dHee   d.ee   dIeed1      de#dQ   f(dRZ$ddddedededdddddddfdedeeeeddEdSe e!dTf   dUee%   dVee   dWee   dHee   d'ee   d/ee   d.ee   dIeed1      d2ee   d3ee   dXee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f6dYZ&	 	 deeeedddZed3e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'Z(	 dddeddedddddddfdedeeeedd\d]e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d<   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.daZ)eddedddddddfdeeeeeddbd'ee   d/ee   dcee   d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dee   dee   dee   dee   dee	   dd@f&ddZ*dededdeddddddddfdedeeeeddEdee e!dff   dHee   d'ee   d/ee   d.ee   dgee   dIeed1      d2ee   d3ee   dXee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f2dhZ+ededddddfdeeeeeddbdied'ee   d/edj   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"dkZ,dddddddddddeddddddeddddddfdeeeeeddbdWedledmednedoedp   dqee   dree   dsee   dtee   duee   dvee   dwee   dxee   dyee   dzee   d{ee   d'ee   d/edj   d|ee ee-f      d}ee   d~ee   dee   deee      d2ee   d3ee   d6ed7   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dee   dee   dee   dee   dee	   dd@fLdZ.ddedddddedd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d<   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Z/ddddeeddeddddddddddfdedeeeeddEde e!df   dUee%   dee   dee   dHee   d.ee   d'ee   d/ee   dIeed1      d2ee   d3ee   dJee   dXee!   d6ed7   d(ee   d8ee   d9ee   dKee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f:dZ0ededdddddddfdeeeeeddbde e!df   d'ee   d/ee   d2ee   d3ee   dcee   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   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Z1ddedddeddeddddddddddddfdedeeeeddEde e!df   dUee%   dHee   d'ee   d/ee   dee   dee   d.ee   dee   dIeed1      d2ee   d3ee   dJee   dXee!   d6ed7   d(ee   d8ee   d9ee   dKee   dee!   dee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f@dZ2dddddeddddedddddddfdedeeeedddee   dee   dWe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d<   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@f6dZ3ddededdddddddfdedeeeeddEde e!df   dUee%   dee   d'ee   d/ee   d2ee   d3ee   dXee!   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f.dZ4ddedededddddddfdedeeeeddEde e!df   dUee%   dHee   d'ee   d/ee   d.ee   dIeed1      d2ee   d3ee   d6ed7   d(ee   d8ee   d9ee   d:ee   d;ed<   d=ee   d?ee   dLee   dee   dee   dee   dee   dee	   dd@f0dZ5d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dbdedee edf      dee   dee   dee   dee6   dee   d'ee   d/ee   dee   dee   dee%   dee ee7jp                  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Z9d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Z:dedfeeeedddeded-ee   dee   deed1      dee   dee   dee   dee   dee	   defdZ;dedededddddddfdeeeeeddbde eef   d&edHee   d.ee   dIeed1      d'ee   d/ee   d2ee   d3ee   d6ed7   dKee   d9ee   dee   d:ee   d;ed<   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dddfdeeeeeddbde eef   d&edHee   d.ee   dIeed1      d'ee   d/ee   d2ee   d3ee   d6ed7   dKee   d9ee   dee   d:ee   d;ed<   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dfeeeeddde eef   dCe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e	   de#d   fd˄Z>eedddfeeeeddde eef   dCe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e	   de#d   fd̄Z?eeddddfeeeeddde eef   d&ed'ee   d2ee   d3ee   de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eddddfeeeeddde eef   d&ed'ee   d2ee   d3ee   de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΄ZAeeddfeeeeddde eef   dCe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e	   de#d   fdτZBeeddfeeeeddde eef   dCe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e	   de#d   fdЄZCe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фZDe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҄ZE	 deeeedddeeF   dee   dee   dee   dee   dee	   defdԄZGeeeedddee   dee   dee   dee   dee	   deFfdՄZHe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ׄZIe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لZJ	 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ۄZKeeeedddee   dee   dee   dee   dee	   defd܄ZL xZMS )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_kwargsr9   r7   r:   r=   r?   r<   r5   r6   r>   r;   r3   r4   r8   rA   c                    t         |   |       || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        || _        || _        | j                  f| _        | j!                          y )Nr@   )super__init__r9   r7   r:   r=   r?   r<   r5   r6   r>   r;   r3   r4   r8   	_id_attrs_freeze)selfr9   r7   r:   r=   r?   r<   r5   r6   r>   r;   r3   r4   r8   rA   	__class__s                  D/root/twitch_bot/venv/lib/python3.12/site-packages/telegram/_user.pyrD   zUser.__init__   s    $ 	J/)"(1'/,9/>;V(7N$*48P%7N$0@''    returnc                     t        |       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   rG   s    rI   namez	User.name       
 ~rJ   c                     t        |       S )z:obj:`str`: Convenience property. The user's :attr:`first_name`, followed by (if
        available) :attr:`last_name`.
        )r   rM   s    rI   	full_namezUser.full_name   s    
 T""rJ   c                     t        |       S )zu:obj:`str`: Convenience property. If :attr:`username` is available, returns a t.me link
        of the user.
        )r   rM   s    rI   linkz	User.link   rO   rJ   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutrA   offsetlimitrT   rU   rV   rW   r,   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)a'  Shortcut 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`.

        Returns:
            :class:`telegram.UserProfilePhotos`

        )user_idrX   rY   rT   rU   rV   rW   rA   N)get_botget_user_profile_photosr9   )rG   rX   rY   rT   rU   rV   rW   rA   s           rI   get_profile_photoszUser.get_profile_photos   sL     , \\^;;GG%'+%! < 	
 	
 		
 	
   5><>rN   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_markdownr9   rQ   rG   rN   s     rI   r   zUser.mention_markdown  s-     +DGGT::'@@rJ   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).

           )versionra   rc   s     rI   mention_markdown_v2zUser.mention_markdown_v2  s1     +DGGT1EE'KKrJ   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_htmlr9   rQ   rc   s     rI   r   zUser.mention_html%  s-     '66#DGGT^^<<rJ   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   rQ   r9   rc   s     rI   mention_buttonzUser.mention_button2  s)     $)?}UYU\U\T]E^__rJ   
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_idrn   ro   rT   rU   rV   rW   rp   rA   N)r\   pin_chat_messager9   )	rG   rn   ro   rp   rT   rU   rV   rW   rA   s	            rI   pin_messagezUser.pin_messageA  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.

        )rr   rT   rU   rV   rW   rA   rn   rp   N)r\   unpin_chat_messager9   )rG   rn   rp   rT   rU   rV   rW   rA   s           rI   unpin_messagezUser.unpin_messagef  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.

        rr   rT   rU   rV   rW   rA   N)r\   unpin_all_chat_messagesr9   rG   rT   rU   rV   rW   rA   s         rI   unpin_all_messageszUser.unpin_all_messages  sF     . \\^;;GG%'+%! < 
 
 	
 
   3<:<)reply_to_message_iddisable_web_page_previewallow_sending_without_replyrT   rU   rV   rW   rA   rk   
parse_modereply_markupentitiesr%   protect_contentmessage_thread_idlink_preview_optionsr"   reply_parametersr(   message_effect_idallow_paid_broadcastdirect_messages_topic_idsuggested_post_parametersr*   r   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.

        )rr   rk   r   r   r   ro   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   rp   r   r   r   r   N)r\   send_messager9   )rG   rk   r   ro   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                          rI   r   zUser.send_message  sz     N \\^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.

        )rr   rn   rT   rU   rV   rW   rA   N)r\   delete_messager9   )rG   rn   rT   rU   rV   rW   rA   s          rI   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.

        )rr   r   rT   rU   rV   rW   rA   N)r\   delete_messagesr9   )rG   r   rT   rU   rV   rW   rA   s          rI   r   zUser.delete_messages
  sI     , \\^33GG#%'+%! 4 
 
 	
 
r   )r   r   filenamerT   rU   rV   rW   rA   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.

        )rr   r   r   ro   r   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   r   rp   r   r   r   r   r   N)r\   
send_photor9   )rG   r   r   ro   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                            rI   r   zUser.send_photo*  s     R \\^..GG!5 3-%!(C-+/%'+%!##9/!5%=%=&?3 / 
 
 	
 
   AAA	A)
r   r   rT   rU   rV   rW   rA   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.

        )rr   r   ro   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   r   rp   r   r   r   N)r\   send_media_groupr9   )rG   r   ro   r   r   r   rp   r   r   r   r   r   rT   rU   rV   rW   rA   r   r   r   s                       rI   r   zUser.send_media_groupo  sq     N \\^44GG!5 3-%'+%!(C+/!-#9/!5%=) 5 
 
 	
 
   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.

        )rr   r   r   r   r   r   ro   r   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   r   rp   r   r   r   r   N)r\   
send_audior9   )rG   r   r   r   r   r   ro   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                              rI   r   zUser.send_audio  s     V \\^..GG!5 3-%!(C-+/%'+%!#9/!5%=&?7 / 
 
 	
 
   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.

        )	rr   r   r   rT   rU   rV   rW   rA   rp   N)r\   send_chat_actionr9   )	rG   r   r   rp   rT   rU   rV   rW   rA   s	            rI   r   zUser.send_chat_action  sO     2 \\^44GG/%'+%!#9 5 

 

 
	
 

ru   )r   r   contactrT   rU   rV   rW   rA   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.

        )rr   r   r7   r=   ro   r   r   r   rT   rU   rV   rW   r   r   rA   r   r   r   rp   r   r   r   r   N)r\   send_contactr9   )rG   r   r7   r=   ro   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                          rI   r   zUser.send_contact  sz     N \\^00GG%!!5 3-%%'+%!(C+/#9/!5%=&?/ 1 
 
 	
 
r   )r   r   rT   rU   rV   rW   rA   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.

        )rr   ro   r   r   r   rT   rU   rV   rW   r   rA   r   r   r   rp   r   r   r   r   N)r\   	send_dicer9   )rG   ro   r   r   r   r   r   rp   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                      rI   r   zUser.send_dice_  sn     F \\^--GG!5 3-%%'+%!(C+/#9/!5%=&?' . 
 
 	
 
s   A 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.

        )rr   r   r   r   ro   r   r   r   rT   rU   rV   rW   r   r   rA   r   r   r   r   r   rp   r   r   r   r   N)r\   send_documentr9   )rG   r   r   ro   r   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                            rI   r   zUser.send_document  s     R \\^11GG!5 3-%%'+%!!+I(C-+/#9/!5%=&?3 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.

        )rr   r   ro   r   r   r   rT   rU   rV   rW   rA   r   r   r   rp   r   r   N)r\   	send_gamer9   )rG   r   ro   r   r   r   r   rp   r   r   r   r   rT   rU   rV   rW   rA   s                    rI   r   zUser.send_game  sh     B \\^--GG+!5 3-%%'+%!(C+/#9/!5# . 
 
 	
 
s   >A AAdescriptionpayloadcurrencypricesr!   provider_token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                R  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%|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.

        rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   r   r   r   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   r   r   r   r   N )r\   send_invoicer9   )&rG   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s&                                         rI   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'
J &>K'
L '@M'
 '
 '	
 '
s   BB' B%!B')r   r   locationrT   rU   rV   rW   rA   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.

        )rr   r   r   ro   r   r   r   rT   rU   rV   rW   r   r   rA   r   r   r   r   r   r   rp   r   r   r   r   N)r\   send_locationr9   )rG   r   r   ro   r   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                            rI   r   zUser.send_location{  s     R \\^11GG!5 3-%%'+%#! 3#9(C+/#9/!5%=&?3 2 
 
 	
 
r   	animationr   widthheightc                  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{   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.

        rr   r   r   r   r   r   r   ro   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   r   r   rp   r   r   r   r   r   Nr   )r\   send_animationr9   )rG   r   r   r   r   r   r   ro   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                                rI   r   zUser.send_animation  sR    Z 3T\\^22 
GG

 
 	

 
 
 "
 "6
 !4
 .
 &
 &
 (
 ,
 &
  "!
" )D#
$ .%
& '
( ,)
* 0+
, $-
.  /
0 $:1
2 03
4 "65
6 &>7
8 &>9
: '@;
 
 	
 
s   BBB
B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.

        )rr   r   ro   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   rp   r   r   r   r   N)r\   send_stickerr9   )rG   r   ro   r   r   r   r   r   rp   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                       rI   r   zUser.send_sticker  sq     H \\^00GG!5 3-%%'+%!(C+/#9/!5%=&?) 1 
 
 	
 
r   videor.   supports_streamingcoverstart_timestampc                .  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!{   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.

        rr   r   r   r   ro   r   r   r   rT   rU   rV   rW   r   r   r   r   r   r   r   rA   r   r   r   r   r   r   rp   r   r   r   r   r   Nr   )r\   
send_videor9   ) rG   r   r   r   ro   r   r   r   r   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                                    rI   r   zUser.send_videoH  sr    ` /T\\^.. !
GG!
!
 !
 	!

 "6!
 !4!
 .!
 &!
 &!
 (!
 ,!
 &!
 !
 !
 "!
   2!!
"  #!
$ %!
& ,'!
( ")!
* )D+!
, .-!
. /!
0 ,1!
2 03!
4 $5!
6 $:7!
8 09!
: "6;!
< &>=!
> &>?!
@ '@A!
 !
 !	
 !
s   BBBB)r   r   venuerT   rU   rV   rW   rA   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.

        )rr   r   r   r   r   r   ro   r   r   r   rT   rU   rV   rW   r   r   rA   r   r   r   r   r   rp   r   r   r   r   N)r\   
send_venuer9   )rG   r   r   r   r   r   ro   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                              rI   r   zUser.send_venue  s     V \\^..GG'!5 3-%%'+%+!+/(C+/#9/!5%=&?7 / 
 
 	
 
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.

        )rr   r   r   r   ro   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   rp   r   r   r   r   N)r\   send_video_noter9   )rG   r   r   r   ro   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                          rI   r   zUser.send_video_note  sz     N \\^33GG!!5 3-%%'+%!(C+/#9/!5%=&?/ 4 
 
 	
 
r   voicer0   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.

        )rr   r   r   r   ro   r   r   r   rT   rU   rV   rW   r   rA   r   r   r   r   r   rp   r   r   r   r   N)r\   
send_voicer9   )rG   r   r   r   ro   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   rT   rU   rV   rW   rA   s                           rI   r   zUser.send_voice%  s}     P \\^..GG!5 3-%%'+%!!(C-+/#9/!5%=&?1 / 
 
 	
 
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.

        rr   r   r   r   r   r   r   r   ro   r   r   r   rT   rU   rV   rW   r  r  r  r  rA   r   r  r   r   rp   r  r  r   r   Nr   )r\   	send_pollr9   )rG   r   r   r   r   r   r   r   ro   r   r  r  r  r  r  r   r   r   rp   r  r  r   r   r   r   rT   rU   rV   rW   rA   s                                 rI   r	  zUser.send_pollh  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                  d| j                  |||||||||	|
       d{   S 7 w)a9  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.
        N)rr   r[   r
  rk   r  r  r  rT   rU   rV   rW   rA   )r\   	send_giftr9   )rG   r
  rk   r  r  r  rT   rU   rV   rW   rA   s              rI   r  zUser.send_gift  sX     2 \\^--GG+'+%'+%! . 
 
 	
 
   9AA Amonth_count
star_countc                   K   | j                         j                  | j                  |||||||||	|
       d{   S 7 w)a`  Shortcut for::

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

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

        .. versionadded:: 22.1

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )r[   r  r  rk   r  r  rT   rU   rV   rW   rA   N)r\   gift_premium_subscriptionr9   )rG   r  r  rk   r  r  rT   rU   rV   rW   rA   s              rI   r  zUser.gift_premium_subscription  sU     4 \\^==GG#!+'%'+%! > 
 
 	
 
s   8A?Afrom_chat_idvideo_start_timestampr&   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.

        )rr   r  rn   r   r  r   r   ro   r   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   r   Nr\   copy_messager9   )rG   r  rn   r   r   r   ro   r   r   r   r   r   r   r  r   r   r   r   rT   rU   rV   rW   rA   s                          rI   	send_copyzUser.send_copy  sz     N \\^00GG%!"7!-!5 3-(C%%'+%!+/%=!5%=&?/ 1 
 
 	
 
r   rr   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  rr   rn   r   r  r   r   ro   r   r   r   r   rT   rU   rV   rW   rA   r   r   r   r   r   r   Nr  )rG   rr   rn   r   r   r   ro   r   r   r   r   r   r   r  r   r   r   r   rT   rU   rV   rW   rA   s                          rI   r  zUser.copy_messageH  sz     N \\^00!"7!-!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.

        )rr   r  r   ro   r   r   r  rT   rU   rV   rW   rA   r   Nr\   copy_messagesr9   )rG   r  r   ro   r   r   r  r   rT   rU   rV   rW   rA   s                rI   send_copieszUser.send_copies  s[     > \\^11GG%#!5+/)%'+%!%= 2 
 
 	
 
   :A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  rr   r   ro   r   r   r  rT   rU   rV   rW   rA   r   Nr  )rG   rr   r   ro   r   r   r  r   rT   rU   rV   rW   rA   s                rI   r  zUser.copy_messages  s[     > \\^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.

        )rr   r  rn   r  ro   rT   rU   rV   rW   rA   r   r   r   r   Nr\   forward_messager9   )rG   r  rn   ro   r   r   r  r   r   rT   rU   rV   rW   rA   s                 rI   forward_fromzUser.forward_from  s^     > \\^33GG%!"7!5%'+%!+/%=&? 4 
 
 	
 
   ;AAA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  rr   rn   r  ro   rT   rU   rV   rW   rA   r   r   r   r   Nr$  )rG   rr   rn   ro   r   r   r  r   r   rT   rU   rV   rW   rA   s                 rI   
forward_tozUser.forward_to  s_     @ \\^33!"7!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.

        )rr   r  r   ro   r   r   rT   rU   rV   rW   rA   r   Nr\   forward_messagesr9   )rG   r  r   ro   r   r   r   rT   rU   rV   rW   rA   s               rI   forward_messages_fromzUser.forward_messages_fromH  sX     < \\^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  rr   r   ro   r   r   rT   rU   rV   rW   rA   r   Nr+  )rG   rr   r   ro   r   r   r   rT   rU   rV   rW   rA   s               rI   forward_messages_tozUser.forward_messages_tou  sX     < \\^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.

        r[   rr   rT   rU   rV   rW   rA   N)r\   approve_chat_join_requestr9   rG   rr   rT   rU   rV   rW   rA   s          rI   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.

        r1  N)r\   decline_chat_join_requestr9   r3  s          rI   decline_join_requestzUser.decline_join_request  r5  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.
        )rr   r9  rT   rU   rV   rW   rA   N)r\   set_chat_menu_buttonr9   )rG   r9  rT   rU   rV   rW   rA   s          rI   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.
        rz   N)r\   get_chat_menu_buttonr9   r|   s         rI   get_menu_buttonzUser.get_menu_button	  sF     4 \\^88GG%'+%! 9 
 
 	
 
r~   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.
        )rr   r[   rT   rU   rV   rW   rA   N)r\   get_user_chat_boostsr9   r3  s          rI   get_chat_boostszUser.get_chat_boosts2	  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.
        )r[   rC  rT   rU   rV   rW   rA   N)r\   refund_star_paymentr9   )rG   rC  rT   rU   rV   rW   rA   s          rI   rE  zUser.refund_star_paymentR	  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.
        )r[   rF  rT   rU   rV   rW   rA   N)r\   verify_userr9   )rG   rF  rT   rU   rV   rW   rA   s          rI   verifyzUser.verifyr	  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.
        )r[   rT   rU   rV   rW   rA   N)r\   remove_user_verificationr9   r|   s         rI   remove_verificationzUser.remove_verification	  sF     * \\^<<GG%'+%! = 
 
 	
 
r~   )
NNNNNNNNNN)NN)N)N__name__
__module____qualname____doc__	__slots__intstrboolr   r   rD   propertyrN   rQ   rS   r
   r   floatr^   r   rg   r   r   rm   rt   rx   r}   r   r   r   r   r   r   r   r   tupler   r   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/  r4  r8  r   r<  r?  rB  rE  rI  rL  __classcell__)rH   s   @rI   r2   r2   J   s1   L\I* $("&'+*.6:26%)3726+/%  *.!%% % 	%
 C=% 3-%  }% "$% &.d^% "*$% TN% #+4.% "*$% #4.%  X&!%N c   #3 # # hsm   !%#

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

 uo
  
 "%
 uo
 X&
 
%	&
B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+//326IM?
" .2376B(4)5+7(4)-1?
?
 SM?
 'tn	?

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

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

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

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

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

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

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

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

 {+C
 SMC
 )1C
 #8O#<=C
 "$C
 $C=C
 I&C
 ##45C
 !)C
 $C=C
 'tnC
  #+3-!C
" $,,E#F#C
& &c]'C
( &.d^)C
* 3-+C
, uo-C
.  /C
0 "%1C
2 uo3C
4 X&5C
6 
7C
P 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
x )-)-#'$(%)&*$(,0%)04&*/;9=6:8<15(,9=*6+/8<+//326IM?g
B .26B(4)5+7(4)-Og
g
 g
 	g

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

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

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

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

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

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

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

 'tnA
 {+A
 SMA
 #8O#<=A
 "$A
 $C=A
 ##45A
 !)A
 $C=A
 'tnA
 #+3-A
  $,,E#F!A
$ &c]%A
& &.d^'A
( 3-)A
* uo+A
,  -A
. "%/A
0 uo1A
2 X&3A
4 
5A
N (,"267;$(/;.2%)0<,09=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
 j)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&&
 
&
X #)5=A&
 )5)5+7(4)-&
&
 &
 sm	&

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

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

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

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

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

 "$.
 $C=.
  (}.
 #+3-.
 $,,E#F.
 uo.
  .
 "%.
 uo.
 X&.
  
!.
h 0<*6+//326IM/
 )5)5+7(4)-/
sCx/
 /
 'tn	/

 "$/
 $C=/
  (}/
 #+3-/
 $,,E#F/
 uo/
  /
 "%/
 uo/
 X&/
  
!/
j 0<*6+/26+
 )5)5+7(4)-+
CHo+
 c]+
 'tn	+

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

 "$+
 $C=+
 #+3-+
 uo+
  +
 "%+
 uo+
 X&+
 
	 +
b )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&
 

rJ   r2   )>rP  r[  rZ  collections.abcr   typingr   r   r   %telegram._inline.inlinekeyboardbuttonr   telegram._menubuttonr   telegram._telegramobjectr	   telegram._utils.defaultvaluer
   telegram._utils.typesr   r   r   r   r   r   telegram._utils.usernamesr   r   r   telegram.helpersr   ri   r   rb   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/   r0   r2   r   rJ   rI   <module>rg     su   ( F  $ 1 1 F + 3 5  H G A I       >d%
> d%
rJ   