
    YiX                    ,   S r SSKJr  SSKJr  SSKJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJrJrJrJrJr  SS
KJr  SSKJr  \(       a8  SSKJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5   " S S\5      r6g)z?This module contains an object that represents a Telegram User.    )Sequence)datetime)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          ^  \ rS rSrSrSr          SSS.S\S\S\S	\	\   S
\	\   S\	\   S\	\   S\	\   S\	\   S\	\   S\	\   S\	\   S\	\   S\	\
   4U 4S jjjjr\S\4S j5       r\S\4S j5       r\S\	\   4S j5       r  S\\\\SS.S\	\   S\	\   S\\   S\\   S\\   S\\   S\	\
   S\	S    4S! jjjrSS"\	\   S\4S# jjrSS"\	\   S\4S$ jjrSS"\	\   S\4S% jjrSS"\	\   S\4S& jjr\S4\\\\SS.S'\S(\\   S)\	\   S\\   S\\   S\\   S\\   S\	\
   S\4S* jjjr  S\\\\SS.S'\	\   S)\	\   S\\   S\\   S\\   S\\   S\	\
   S\4S+ jjjr\\\\SS.S\\   S\\   S\\   S\\   S\	\
   S\4S, jjr\\SS\S\SSSS4SS\\\\\SS-.S.\S/\\   S(\\   S0\	\   S1\	\S2      S3\\   S4\	\   S5\S6   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S<\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4*S? jjjr\\\\SS.S'\S\\   S\\   S\\   S\\   S\	\
   S\4S@ jjr\\\\SS.SA\\   S\\   S\\   S\\   S\\   S\	\
   S\4SB jjr S\S\S\SSSSSSS4S\S\\\\SSC.SD\!\"SE4   SF\	\   S(\\   S0\	\   S/\\   SG\	\S2      S3\\   S4\	\   SH\	\   S7\	S8   S)\	\   S9\	\   S:\	\   SI\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4.SK jjjr#\\SSSSS4S\\\\\SS\SSL.
SM\\!SN      S(\\   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SF\	\   S/\\   SG\	\S2      S\$SO   4&SP jjjr%SSSS\S\S\SSSSSS4S\S\\\\SSC.SQ\!\"SR4   SS\	\   ST\	\   SU\	\   SF\	\   S(\\   S0\	\   S/\\   SG\	\S2      S3\\   S4\	\   SV\	\"   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>42SW jjjr&  S\\\\SS.SX\S4\	\   S)\	\   S\\   S\\   S\\   S\\   S\	\
   S\4SY jjjr'\'r( SSS\SS\SSSSS4S\S\\\\SSZ.S[\	\   S\	\   S	\	\   S(\\   S0\	\   S\\	\   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S]\	S^   S\\   S\\   S\\   S\\   S\	\
   SS>4*S_ jjjr)\SS\SSSSS4	S\\\\\SS`.S(\\   S0\	\   Sa\	\   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4"Sb jjjr*S\S\SS\SSSSSS4S\S\\\\SSC.Sc\!\"Sd4   SF\	\   S(\\   S0\	\   S/\\   Se\	\   SG\	\S2      S3\\   S4\	\   SV\	\"   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4.Sf jjjr+\S\SSSSS4S\\\\\SS`.Sg\S(\\   S0\	Sh   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4"Si jjjr,SSSSSSSSSS\SSSSSS\SSSS4S\\\\\SS`.SU\Sj\Sk\Sl\	\   Sm\Sn\So   Sp\	\   Sq\	\   Sr\	\   Ss\	\   St\	\   Su\	\   Sv\	\   Sw\	\   Sx\	\   Sy\	\   S(\\   S0\	Sh   Sz\	\!\\-4      S{\	\   S|\	\   S}\	\   S~\	\\      S3\\   S4\	\   S7\	S8   S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4HS jjjr.SS\SSSSS\SSSSS4S\S\\\\SS.S\	\   S\	\   S(\\   S0\	\   S\	\   S\	\   S\	\   S\	\   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\	S   S\\   S\\   S\\   S\\   S\	\
   SS>4.S jjjr/SSSS\\SS\SSSSSSSS4S\S\\\\SSC.S\!\"S4   SS\	\   S\	\   S\	\   SF\	\   S/\\   S(\\   S0\	\   SG\	\S2      S3\\   S4\	\   SH\	\   SV\	\"   S7\	S8   S)\	\   S9\	\   S:\	\   SI\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>46S jjjr0\S\SSSSSS4	S\\\\\SS`.S\!\"S4   S(\\   S0\	\   S3\\   S4\	\   Sa\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4$S jjjr1SS\SSS\SS\SSSSSSSS4S\S\\\\SSC.S\!\"S4   SS\	\   SF\	\   S(\\   S0\	\   S\	\   S\	\   S/\\   S\	\   SG\	\S2      S3\\   S4\	\   SH\	\   SV\	\"   S7\	S8   S)\	\   S9\	\   S:\	\   SI\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>48S jjjr2SSSSS\SSSS\SSSSS4S\S\\\\SS.S\	\   S\	\   SU\	\   S\	\   S\	\   S(\\   S0\	\   S\	\   S\	\   S\	\   S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   S\	S   S\\   S\\   S\\   S\\   S\	\
   SS>42S jjjr3SS\S\SSSSSS4S\S\\\\SSC.S\!\"S4   SS\	\   S\	\   S(\\   S0\	\   S3\\   S4\	\   SV\	\"   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4*S jjjr4SS\S\S\SSSSS4S\S\\\\SSC.S\!\"S4   SS\	\   SF\	\   S(\\   S0\	\   S/\\   SG\	\S2      S3\\   S4\	\   S7\	S8   S)\	\   S9\	\   S:\	\   S;\	\   S=\\   SJ\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4,S jjjr5SSSSS\SS\SSS\SSS\SSS4S\\\\\SS`.S\S\\!\S4      S\	\   S\	\   S\	\   S\	\6   S\	\   S(\\   S0\	\   S\	\   S\\   S\	\   S\	\!\\74      S\	\S2      S3\\   S4\	\   S7\	S8   S)\	\   S\\   S\	\S2      S9\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS>4<S jjjr8S\S4\\\\SS.S\!\S4   S.\	\   S\\   S\	\S2      S\\   S\\   S\\   S\\   S\	\
   S\4S jjjr9S\S\S\SSSS4
S\\\\\SS`.S\!\\4   S'\SF\	\   S/\\   SG\	\S2      S(\\   S0\	\   S3\\   S4\	\   S7\	S8   SI\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS4(S jjjr:S\S\S\SSSS4
S\\\\\SS`.S\!\\4   S'\SF\	\   S/\\   SG\	\S2      S(\\   S0\	\   S3\\   S4\	\   S7\	S8   SI\	\   S:\	\   S;\	\   S=\\   S\\   S\\   S\\   S\\   S\	\
   SS4(S jjjr;\\SS4\\\\SS.S\!\\4   SA\\   S(\\   S3\\   S4\	\   S\	\   S\\   S\\   S\\   S\\   S\	\
   S\$S   4S jjjr<\\SS4\\\\SS.S\!\\4   SA\\   S(\\   S3\\   S4\	\   S\	\   S\\   S\\   S\\   S\\   S\	\
   S\$S   4S jjjr=\\S4\\\\SS.S\!\\4   S'\S(\\   S3\\   S4\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4S jjjr>\\S4\\\\SS.S\!\\4   S'\S(\\   S3\\   S4\	\   S\\   S\\   S\\   S\\   S\	\
   SS>4S jjjr?\\S4\\\\SS.S\!\\4   SA\\   S(\\   S3\\   S4\	\   S\\   S\\   S\\   S\\   S\	\
   S\$S   4S jjjr@\\S4\\\\SS.S\!\\4   SA\\   S(\\   S3\\   S4\	\   S\\   S\\   S\\   S\\   S\	\
   S\$S   4S jjjrA\\\\SS.S\!\\4   S\\   S\\   S\\   S\\   S\	\
   S\4S jjrB\\\\SS.S\!\\4   S\\   S\\   S\\   S\\   S\	\
   S\4S jjrC S\\\\SS.S\	\D   S\\   S\\   S\\   S\\   S\	\
   S\4S jjjrE\\\\SS.S\\   S\\   S\\   S\\   S\	\
   S\D4S jjrF\\\\SS.S\!\\4   S\\   S\\   S\\   S\\   S\	\
   SS4S jjrG\\\\SS.S\S\\   S\\   S\\   S\\   S\	\
   S\4S jjrHSrIU =rJ$ )User@   am  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_kwargsr6   r4   r7   r:   r<   r9   r2   r3   r;   r8   r0   r1   r5   r>   c                   > [         TU ]  US9  Xl        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        Xl        Xl        Xl        Xl        U R                  4U l        U R!                  5         g )Nr=   )super__init__r6   r4   r7   r:   r<   r9   r2   r3   r;   r8   r0   r1   r5   	_id_attrs_freeze)selfr6   r4   r7   r:   r<   r9   r2   r3   r;   r8   r0   r1   r5   r>   	__class__s                  9/app/.venv/lib/python3.13/site-packages/telegram/_user.pyrA   User.__init__   ss    $ 	J/)"(1'/,9/>;V(7N$*48P%7N$0@''    returnc                 Z    U R                   (       a  SU R                    3$ U R                  $ )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rD   s    rF   name	User.name   s&    
 ==t}}o&&~~rH   c                 r    U R                   (       a  U R                   SU R                    3$ U R                  $ )zo:obj:`str`: Convenience property. The user's :attr:`first_name`, followed by (if
available) :attr:`last_name`.
 )r:   r4   rM   s    rF   rL   User.full_name   s0    
 >>oo&a'788rH   c                 D    U R                   (       a  SU R                    3$ g)ze:obj:`str`: Convenience property. If :attr:`username` is available, returns a t.me link
of the user.
zhttps://t.me/N)r<   rM   s    rF   link	User.link   s    
 =="4==/22rH   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr>   offsetlimitrV   rW   rX   rY   r(   c                z   #    U R                  5       R                  U R                  UUUUUUUS9I Sh  vN $  N7f)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_idrZ   r[   rV   rW   rX   rY   r>   N)get_botget_user_profile_photosr6   )rD   rZ   r[   rV   rW   rX   rY   r>   s           rF   get_profile_photosUser.get_profile_photos   sK     & \\^;;GG%'+%! < 	
 	
 		
 	
   2;9;rN   c                 |    U(       a  [        U R                  U5      $ [        U R                  U R                  5      $ )as  
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_markdownr6   rL   rD   rN   s     rF   r   User.mention_markdown   s-     +DGGT::'@@rH   c                 x    U(       a  [        U R                  USS9$ [        U R                  U R                  SS9$ )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).

   )versionrd   rf   s     rF   mention_markdown_v2User.mention_markdown_v2  s1     +DGGT1EE'KKrH   c                 |    U(       a  [        U R                  U5      $ [        U R                  U R                  5      $ )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_htmlr6   rL   rf   s     rF   r   User.mention_html  s-     '66#DGGT^^<<rH   c                 V    [        U=(       d    U R                  SU R                   3S9$ )aC  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   rL   r6   rf   s     rF   mention_buttonUser.mention_button+  s)     $)?}UYU\U\T]E^__rH   
message_iddisable_notificationbusiness_connection_idc                |   #    U R                  5       R                  U R                  UUUUUUUUS9	I Sh  vN $  N7f)a  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_idru   rv   rV   rW   rX   rY   rw   r>   N)r^   pin_chat_messager6   )	rD   ru   rv   rw   rV   rW   rX   rY   r>   s	            rF   pin_messageUser.pin_message:  sN     2 \\^44GG!!5%'+%#9! 5 

 

 
	
 

   3<:<c                z   #    U R                  5       R                  U R                  UUUUUUUS9I Sh  vN $  N7f)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.

)ry   rV   rW   rX   rY   r>   ru   rw   N)r^   unpin_chat_messager6   )rD   ru   rw   rV   rW   rX   rY   r>   s           rF   unpin_messageUser.unpin_message_  sK     0 \\^66GG%'+%!!#9 7 	
 	
 		
 	
rb   c          	      v   #    U R                  5       R                  U R                  UUUUUS9I Sh  vN $  N7f)a-  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.

ry   rV   rW   rX   rY   r>   N)r^   unpin_all_chat_messagesr6   rD   rV   rW   rX   rY   r>   s         rF   unpin_all_messagesUser.unpin_all_messages  sE     . \\^;;GG%'+%! < 
 
 	
 
   0979)reply_to_message_iddisable_web_page_previewallow_sending_without_replyrV   rW   rX   rY   r>   rq   
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                   #    U R                  5       R                  U R                  UUUUUUU	UUUUUUUUUUU
UUS9I Sh  vN $  N7f)a-  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.

)ry   rq   r   r   r   rv   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   rw   r   r   N)r^   send_messager6   )rD   rq   r   rv   r   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                        rF   r   User.send_message  ss     J \\^00GG!%=!5!5 3-%(C+/%'+%!#9/!5+ 1 
 
 	
 
   ?AAAc          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)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.

)ry   ru   rV   rW   rX   rY   r>   N)r^   delete_messager6   )rD   ru   rV   rW   rX   rY   r>   s          rF   r   User.delete_message  sH     , \\^22GG!%'+%! 3 
 
 	
 
   1:8:message_idsc          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)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.

)ry   r   rV   rW   rX   rY   r>   N)r^   delete_messagesr6   )rD   r   rV   rW   rX   rY   r>   s          rF   r   User.delete_messages  sH     , \\^33GG#%'+%! 4 
 
 	
 
r   )r   r   filenamerV   rW   rX   rY   r>   photor$   captioncaption_entitieshas_spoilershow_caption_above_mediar   c                   #    U R                  5       R                  U R                  UUUUU
UUUUUUUUUUUUU	UUUUS9I Sh  vN $  N7f)a)  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.

)ry   r   r   rv   r   r   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   r   rw   r   r   r   N)r^   
send_photor6   )rD   r   r   rv   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   rV   rW   rX   rY   r>   s                          rF   r   User.send_photo  sy     N \\^..GG!5 3-%!(C-+/%'+%!##9/!5%=/ / 
 
 	
 
   AA
AA
)
r   r   rV   rW   rX   rY   r>   r   r   r   media)r   r   r   r   )r!   .c	       
            #    U R                  5       R                  U R                  UUU	UUUUUUU
UUUUUUUUS9I Sh  vN $  N7f)ab  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.

)ry   r   rv   r   r   rV   rW   rX   rY   r>   r   r   r   r   r   r   rw   r   r   N)r^   send_media_groupr6   )rD   r   rv   r   r   r   rw   r   r   r   r   rV   rW   rX   rY   r>   r   r   r   s                      rF   r   User.send_media_group`  sm     L \\^44GG!5 3-%'+%!(C+/!-#9/!5' 5 
 
 	
 
s   =AA Aaudior   duration	performertitle	thumbnailc                   #    U R                  5       R                  U R                  UUUUUUUUUUUU	UU
UUUUUUUUUUS9I Sh  vN $  N7f)a)  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.

)ry   r   r   r   r   r   rv   r   r   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   r   rw   r   r   N)r^   
send_audior6   )rD   r   r   r   r   r   rv   r   r   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                            rF   r   User.send_audio  s     R \\^..GG!5 3-%!(C-+/%'+%!#9/!53 / 
 
 	
 
   AAA
Aactionc                |   #    U R                  5       R                  U R                  UUUUUUUUS9	I Sh  vN $  N7f)zShortcut 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.

)	ry   r   r   rV   rW   rX   rY   r>   rw   N)r^   send_chat_actionr6   )	rD   r   r   rw   rV   rW   rX   rY   r>   s	            rF   r   User.send_chat_action  sN     2 \\^44GG/%'+%!#9 5 

 

 
	
 

r}   )r   r   contactrV   rW   rX   rY   r>   phone_numbervcardr   r   c                   #    U R                  5       R                  U R                  UUUUUU	UUUUUUUUUUUU
UUS9I Sh  vN $  N7f)a-  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.

)ry   r   r4   r:   rv   r   r   r   rV   rW   rX   rY   r   r   r>   r   r   r   rw   r   r   N)r^   send_contactr6   )rD   r   r4   r:   rv   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                        rF   r   User.send_contact	  ss     J \\^00GG%!!5 3-%%'+%!(C+/#9/!5+ 1 
 
 	
 
r   )r   r   rV   rW   rX   rY   r>   emojic
                   #    U R                  5       R                  U R                  UU
UUUUUUUUUUUUUU	S9I Sh  vN $  N7f)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.

)ry   rv   r   r   r   rV   rW   rX   rY   r   r>   r   r   r   rw   r   r   N)r^   	send_dicer6   )rD   rv   r   r   r   r   r   rw   r   r   r   r   rV   rW   rX   rY   r>   s                    rF   r   User.send_diceF  sg     B \\^--GG!5 3-%%'+%!(C+/#9/!5# . 
 
 	
 
   ;AAAdocumentr   disable_content_type_detectionc                   #    U R                  5       R                  U R                  UUUUUUUUUUUUU
UUUUUU	UUUS9I Sh  vN $  N7f)a/  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.

)ry   r   r   r   rv   r   r   r   rV   rW   rX   rY   r   r   r>   r   r   r   r   r   rw   r   r   N)r^   send_documentr6   )rD   r   r   rv   r   r   r   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                          rF   r   User.send_document{  sy     N \\^11GG!5 3-%%'+%!!+I(C-+/#9/!5/ 2 
 
 	
 
r   game_short_namer   c
                   #    U R                  5       R                  U R                  UUU
UUUUUUUUUUUUU	S9I Sh  vN $  N7f)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.

)ry   r   rv   r   r   r   rV   rW   rX   rY   r>   r   r   r   rw   r   r   N)r^   	send_gamer6   )rD   r   rv   r   r   r   r   rw   r   r   r   r   rV   rW   rX   rY   r>   s                    rF   r   User.send_game  sg     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  #    U R                  5       R                  " S&0 SU R                  _SU_SU_SU_SU_SU_SU_SU_S	U_S
U	_SU
_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU _SU!_SU"_SU#_SU_SU_S U_S!U_S"U_S#U_S$U_6I S%h  vN $  N7f)'a  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.

ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   r   r   r   N )r^   send_invoicer6   )$rD   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   s$                                       rF   r   User.send_invoice  s    | \\^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   locationrV   rW   rX   rY   r>   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr   r    c                   #    U R                  5       R                  U R                  UUUUUUUUUUUUUUUUUU	U
UUUS9I Sh  vN $  N7f)a/  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.

)ry   r   r   rv   r   r   r   rV   rW   rX   rY   r   r   r>   r   r   r   r   r   r   rw   r   r   N)r^   send_locationr6   )rD   r   r   rv   r   r   r   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                          rF   r   User.send_locationV  sy     N \\^11GG!5 3-%%'+%#! 3#9(C+/#9/!5/ 2 
 
 	
 
r   	animationr   widthheightc                   #    U R                  5       R                  U R                  UUUUUUUUUUUUUUUUU	UU
UUUUUUUS9I Sh  vN $  N7f)a1  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.

)ry   r   r   r   r   r   r   rv   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   r   r   r   rw   r   r   r   N)r^   send_animationr6   )rD   r   r   r   r   r   r   rv   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   rV   rW   rX   rY   r>   s                              rF   r   User.send_animation  s     V \\^22GG!!5 3-%%'+%!(C-+/##9/!5%=7 3 
 
 	
 
s   AAAAstickerr&   c                   #    U R                  5       R                  U R                  UUUUUUUUUUUUUUUU	U
S9I Sh  vN $  N7f)a-  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.

)ry   r   rv   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   rw   r   r   N)r^   send_stickerr6   )rD   r   rv   r   r   r   r   r   rw   r   r   r   r   rV   rW   rX   rY   r>   s                     rF   r   User.send_sticker  sj     D \\^00GG!5 3-%%'+%!(C+/#9/!5% 1 
 
 	
 
s   <AAAvideor*   supports_streamingc                   #    U R                  5       R                  U R                  UUUUUUUUUUUUUUU	UUUU
UUUUUUUUS9I Sh  vN $  N7f)a)  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.

)ry   r   r   r   rv   r   r   r   rV   rW   rX   rY   r   r   r   r   r   r>   r   r   r   r   r   r   rw   r   r   r   N)r^   
send_videor6   )rD   r   r   r   rv   r   r   r   r   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   rV   rW   rX   rY   r>   s                               rF   r   User.send_video  s     X \\^..GG!5 3-%%'+%!1!(C-+/##9/!5%=9 / 
 
 	
 
s   AAA	A)r   r   venuerV   rW   rX   rY   r>   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typer  r)   c                   #    U R                  5       R                  U R                  UUUUUUUUUUUUUUUUU	U
UUUUUUS9I Sh  vN $  N7f)a)  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.

)ry   r   r   r   r  r  rv   r   r   r   rV   rW   rX   rY   r  r  r>   r  r  r   r   r   rw   r   r   N)r^   
send_venuer6   )rD   r   r   r   r  r  rv   r   r  r  r  r   r   r   rw   r   r   r   r   r  rV   rW   rX   rY   r>   s                            rF   r  User.send_venueb  s     R \\^..GG'!5 3-%%'+%+!+/(C+/#9/!53 / 
 
 	
 
r   
video_noter+   lengthc                   #    U R                  5       R                  U R                  UUUUUU	UUUUUUUUUUUU
UUS9I Sh  vN $  N7f)a3  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.

)ry   r
  r   r  rv   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   r   rw   r   r   N)r^   send_video_noter6   )rD   r
  r   r  rv   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                        rF   r  User.send_video_note  ss     J \\^33GG!!5 3-%%'+%!(C+/#9/!5+ 4 
 
 	
 
r   voicer,   c                   #    U R                  5       R                  U R                  UUUUUU
UUUUUUUUUUUU	UUUS9I Sh  vN $  N7f)a)  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.

)ry   r  r   r   rv   r   r   r   rV   rW   rX   rY   r   r>   r   r   r   r   r   rw   r   r   N)r^   
send_voicer6   )rD   r  r   r   rv   r   r   r   r   r   r   rw   r   r   r   r   r   rV   rW   rX   rY   r>   s                         rF   r  User.send_voice  sv     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                "  #    U R                  5       R                  " S 0 SU R                  _SU_SU_SU_SU_SU_SU_SU_S	U_S
U_SU_SU	_SU_SU_SU_SU_SU
_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_6I Sh  vN $  N7f)!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.

ry   r  r  r  r  r  r  r  rv   r   r   r   rV   rW   rX   rY   r  r  r  r  r>   r   r  r   r   rw   r  r   r   r   Nr   )r^   	send_pollr6   )rD   r  r  r  r  r  r  r  rv   r   r  r  r  r  r  r   r   r   rw   r  r   r   r   r   r   rV   rW   rX   rY   r>   s                                 rF   r"  User.send_poll#  sX    \ \\^-- 
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_entitiesc                ~   #    U R                  5       R                  U R                  UUUUUUUUU	S9
I Sh  vN $  N7f)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.
)
r]   r$  rq   r%  r&  rV   rW   rX   rY   r>   N)r^   	send_giftr6   )
rD   r$  rq   r%  r&  rV   rW   rX   rY   r>   s
             rF   r(  User.send_giftr  sQ     0 \\^--GG+'%'+%! . 
 
 	
 
s   4=;=from_chat_idr#   c                   #    U R                  5       R                  U R                  UUUUUUUU
UUUUUUUUU	UUS9I Sh  vN $  N7f)a5  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.

)ry   r*  ru   r   r   r   rv   r   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   Nr^   copy_messager6   )rD   r*  ru   r   r   r   rv   r   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   s                       rF   	send_copyUser.send_copy  sp     H \\^00GG%!!-!5 3-(C%%'+%!+/%=!5) 1 
 
 	
 
   >A AAry   c                   #    U R                  5       R                  U R                  UUUUUUUU
UUUUUUUUU	UUS9I Sh  vN $  N7f)a=  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*  ry   ru   r   r   r   rv   r   r   r   r   rV   rW   rX   rY   r>   r   r   r   r   Nr,  )rD   ry   ru   r   r   r   rv   r   r   r   r   r   r   r   r   rV   rW   rX   rY   r>   s                       rF   r-  User.copy_message  sp     H \\^00!!-!5 3-(C%%'+%!+/%=!5) 1 
 
 	
 
r0  remove_caption)r#   .c                   #    U R                  5       R                  U R                  UUUUUUUUU	U
US9I Sh  vN $  N7f)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.

)ry   r*  r   rv   r   r   r3  rV   rW   rX   rY   r>   Nr^   copy_messagesr6   )rD   r*  r   rv   r   r   r3  rV   rW   rX   rY   r>   s               rF   send_copiesUser.send_copies  sW     < \\^11GG%#!5+/)%'+%! 2 
 
 	
 
   6?=?c                   #    U R                  5       R                  U R                  UUUUUUUUU	U
US9I Sh  vN $  N7f)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*  ry   r   rv   r   r   r3  rV   rW   rX   rY   r>   Nr5  )rD   ry   r   rv   r   r   r3  rV   rW   rX   rY   r>   s               rF   r6  User.copy_messages:  sW     < \\^11#!5+/)%'+%! 2 
 
 	
 
r9  c                   #    U R                  5       R                  U R                  UUUUUUU	U
UUS9I Sh  vN $  N7f)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.

)ry   r*  ru   rv   rV   rW   rX   rY   r>   r   r   Nr^   forward_messager6   )rD   r*  ru   rv   r   r   rV   rW   rX   rY   r>   s              rF   forward_fromUser.forward_fromg  sT     8 \\^33GG%!!5%'+%!+/ 4 
 
 	
 
   5><>c                   #    U R                  5       R                  U R                  UUUUUUU	U
UUS9I Sh  vN $  N7f)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*  ry   ru   rv   rV   rW   rX   rY   r>   r   r   Nr=  )rD   ry   ru   rv   r   r   rV   rW   rX   rY   r>   s              rF   
forward_toUser.forward_to  sT     : \\^33!!5%'+%!+/ 4 
 
 	
 
rA  c                   #    U R                  5       R                  U R                  UUUUUUUUU	U
S9I Sh  vN $  N7f)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.

)ry   r*  r   rv   r   r   rV   rW   rX   rY   r>   Nr^   forward_messagesr6   )rD   r*  r   rv   r   r   rV   rW   rX   rY   r>   s              rF   forward_messages_fromUser.forward_messages_from  sT     : \\^44GG%#!5+/%'+%! 5 
 
 	
 
rA  c                   #    U R                  5       R                  U R                  UUUUUUUUU	U
S9I Sh  vN $  N7f)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*  ry   r   rv   r   r   rV   rW   rX   rY   r>   NrF  )rD   ry   r   rv   r   r   rV   rW   rX   rY   r>   s              rF   forward_messages_toUser.forward_messages_to  sT     : \\^44#!5+/%'+%! 5 
 
 	
 
rA  c          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)aH  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]   ry   rV   rW   rX   rY   r>   N)r^   approve_chat_join_requestr6   rD   ry   rV   rW   rX   rY   r>   s          rF   approve_join_requestUser.approve_join_request  H     4 \\^==GG%'+%! > 
 
 	
 
r   c          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)aH  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.

rN  N)r^   decline_chat_join_requestr6   rP  s          rF   decline_join_requestUser.decline_join_request6  rS  r   menu_buttonc          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)ad  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.
)ry   rX  rV   rW   rX   rY   r>   N)r^   set_chat_menu_buttonr6   )rD   rX  rV   rW   rX   rY   r>   s          rF   set_menu_buttonUser.set_menu_buttonZ  sH     6 \\^88GG#%'+%! 9 
 
 	
 
r   c          	      v   #    U R                  5       R                  U R                  UUUUUS9I Sh  vN $  N7f)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.
r   N)r^   get_chat_menu_buttonr6   r   s         rF   get_menu_buttonUser.get_menu_button  sE     4 \\^88GG%'+%! 9 
 
 	
 
r   r'   c          
      x   #    U R                  5       R                  UU R                  UUUUUS9I Sh  vN $  N7f)aB  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.
)ry   r]   rV   rW   rX   rY   r>   N)r^   get_user_chat_boostsr6   rP  s          rF   get_chat_boostsUser.get_chat_boosts  sH     , \\^88GG%'+%! 9 
 
 	
 
r   telegram_payment_charge_idc          
      x   #    U R                  5       R                  U R                  UUUUUUS9I Sh  vN $  N7f)a  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]   re  rV   rW   rX   rY   r>   N)r^   refund_star_paymentr6   )rD   re  rV   rW   rX   rY   r>   s          rF   rg  User.refund_star_payment  sH     , \\^77GG'A%'+%! 8 
 
 	
 
r   )rB   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   )
NNNNNNNNNN)NN)N)K__name__
__module____qualname____firstlineno____doc__	__slots__intstrboolr   r   rA   propertyrN   rL   rT   r   r   floatr`   r   rk   r   r   rs   r{   r   r   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   r   r"  r(  r.  r-  r7  r6  r?  rC  rH  rK  rQ  rV  r	   r[  r_  rc  rg  __static_attributes____classcell__)rE   s   @rF   r.   r.   @   sc,   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<%)59DH*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=12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&#
 
#
R "&$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&
 

 
rH   r.   N)7rm  collections.abcr   r   typingr   r   r   %telegram._inline.inlinekeyboardbuttonr   telegram._menubuttonr	   telegram._telegramobjectr
   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   telegram.helpersr   rn   r   re   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   rH   rF   <module>r     sc   ( F $  1 1 F + 3 5 ] ] A I      <`"
> `"
rH   