o
    "hi                    @   s  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 ddlmZ erddlmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 G dd deZ8dS )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)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       s(  e Zd ZdZdZ										dd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dZ
edefddZedefddZedee fddZ		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 dee	 ded# fd$d%Zdd&ee defd'd(Zdd&ee defd)d*Zdd&ee defd+d,Zdd&ee defd-d.Zedfeeeeddd/ed0ee d1ee dee d ee d!ee d"ee dee	 defd2d3Z		deeeeddd/ee d1ee dee d ee d!ee d"ee dee	 defd4d5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d6d7Zeeddededdddfddeeeeedd8d9ed:ee d0ee d;ee d<eed=  d>ee d?ee d@edA dBedC d1ee dDee dEee dFee dGee dHee dee d ee d!ee d"ee dee	 ddIf*dJdK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dLdMZeeeedddNee dee d ee d!ee d"ee dee	 defdOdPZdedededddddddfdedeeeeddQdRe e!dSf dTee d0ee d;ee d:ee dUeed=  d>ee d?ee dVee dBedC d1ee dDee dEee dWee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf.dYdZZ"eedddddfdeeeeeddedd[
d\ee d]  d0ee d>ee d?ee dBedC d1ee dDee dEee dFee dHee dee d ee d!ee d"ee dee	 dTee d:ee dUeed=  de#d^ f&d_d`Z$ddddedededdddddfdedeeeeddQdae e!dbf dcee% ddee deee dTee d0ee d;ee d:ee dUeed=  d>ee d?ee dfee! dBedC d1ee dDee dEee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf2dgdhZ&		deeeedddied?ee d1ee dee d ee d!ee d"ee dee	 defdjdkZ'e'Z(	 dddeddedddddfdedeeeeddldmee dee dee d0ee d;ee dnee d>ee d?ee dBedC d1ee dDee dEee dFee dHee doedp dee d ee d!ee d"ee dee	 ddIf*dqdrZ)eddedddddf	deeeeeddsd0ee d;ee dtee d>ee d?ee dBedC d1ee dDee dEee dFee dHee dee d ee d!ee d"ee dee	 ddIf"dudvZ*dededdeddddddfdedeeeeddQdwe e!dxf dTee d0ee d;ee d:ee dyee dUeed=  d>ee d?ee dfee! dBedC d1ee dDee dEee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf.dzd{Z+ededddddfdeeeeeddsd|ed0ee d;ed} d>ee d?ee dBedC d1ee dDee dEee dFee dHee dee d ee d!ee d"ee dee	 ddIf"d~dZ,dddddddddddeddddddeddddfdeeeeeddsdeededededed dee dee dee dee dee dee dee dee dee dee dee d0ee d;ed} dee ee-f  dee dee dee deee  d>ee d?ee dBedC dDee dEee dFee dHee dee d ee d!ee d"ee dee	 ddIfHddZ.ddedddddedddddfdedeeeedddee dee d0ee d;ee dee% dee dee dee d>ee d?ee dBedC d1ee dDee dEee dFee dHee ded dee d ee d!ee d"ee dee	 ddIf.ddZ/ddddeeddeddddddddfdedeeeeddQde e!df dcee% dee dee dTee d:ee d0ee d;ee dUeed=  d>ee d?ee dVee dfee! dBedC d1ee dDee dEee dWee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf6ddZ0ededdddddf	deeeeeddsde e!df d0ee d;ee d>ee d?ee dtee dBedC d1ee dDee dEee dFee dHee dee d ee d!ee d"ee dee	 ddIf$ddZ1ddedddeddeddddddddddfdedeeeeddQde e!df dcee% dTee d0ee d;ee dee dee d:ee dee dUeed=  d>ee d?ee dVee dfee! dBedC d1ee dDee dEee dWee dee! dee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf<ddZ2dddddeddddedddddfdedeeeedddee dee deee dee dee d0ee d;ee dee dee dee d>ee d?ee dBedC d1ee dDee dEee dFee dHee ded dee d ee d!ee d"ee dee	 ddIf2ddZ3ddededdddddfdedeeeeddQde e!df dcee% dee d0ee d;ee d>ee d?ee dfee! dBedC d1ee dDee dEee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf*ddZ4ddedededddddfdedeeeeddQde e!df dcee% dTee d0ee d;ee d:ee dUeed=  d>ee d?ee dBedC d1ee dDee dEee dFee dHee dXee dee d ee d!ee d"ee dee	 ddIf,ddń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dsdedee edf  dee dee dee dee6 dee d0ee d;ee dee dee dee% dee ee7j8f  deed=  d>ee d?ee dBedC d1ee dee deed=  dDee dEee dFee dHee dee d ee d!ee d"ee dee	 ddIf<ddքZ9deddfeeeeddde edf d9ee dee deed=  dee dee d ee d!ee d"ee dee	 defdd݄Z:dedfeeeedddeded9ee dee deed=  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fdeeeeeddsde eef d/edTee d:ee dUeed=  d0ee d;ee d>ee d?ee dBedC dWee dEee dee dFee dHee dee d ee d!ee d"ee dee	 ddf*ddZ<dedededddddfdeeeeeddsde eef d/edTee d:ee dUeed=  d0ee d;ee d>ee d?ee dBedC dWee dEee dee dFee dHee dee d ee d!ee d"ee dee	 ddf*ddZ=eeddfeeeeddde eef dNee d0ee d>ee d?ee dee dee d ee d!ee d"ee dee	 de#d fddZ>eeddfeeeeddde eef dNee d0ee d>ee d?ee dee dee d ee d!ee d"ee dee	 de#d fddZ?eeddfeeeeddde eef d/ed0ee d>ee d?ee dee dee d ee d!ee d"ee dee	 ddIfddZ@eeddfeeeeddde eef d/ed0ee d>ee d?ee dee dee d ee d!ee d"ee dee	 ddIfddZAeedfeeeeddde eef dNee d0ee 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ddZBeedfeeeeddde eef dNee d0ee 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dd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dd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ddZE	de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ddZGeeeedddee d ee d!ee d"ee dee	 deFfd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dfddZIeeeedddedee d ee d!ee d"ee dee	 defddZJ	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	 defd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
dZL  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_kwargsr3   r1   r4   r7   r9   r6   r/   r0   r8   r5   r-   r.   r2   r;   c                   sr   t  j|d || _|| _|| _|| _|| _|| _|| _|| _	|	| _
|
| _|| _|| _|| _| jf| _|   d S )Nr:   )super__init__r3   r1   r4   r7   r9   r6   r/   r0   r8   r5   r-   r.   r2   	_id_attrs_freeze)selfr3   r1   r4   r7   r9   r6   r/   r0   r8   r5   r-   r.   r2   r;   	__class__ A/var/www/html/venv/lib/python3.10/site-packages/telegram/_user.pyr=      s    
zUser.__init__returnc                 C   s   | j r	d| j  S | jS )z:obj:`str`: Convenience property. If available, returns the user's :attr:`username`
        prefixed with "@". If :attr:`username` is not available, returns :attr:`full_name`.
        @)r9   	full_namer@   rC   rC   rD   name   s   z	User.namec                 C   s   | j r| j d| j  S | jS )z:obj:`str`: Convenience property. The user's :attr:`first_name`, followed by (if
        available) :attr:`last_name`.
         )r7   r1   rH   rC   rC   rD   rG      s   zUser.full_namec                 C   s   | j r	d| j  S dS )zu:obj:`str`: Convenience property. If :attr:`username` is available, returns a t.me link
        of the user.
        zhttps://t.me/N)r9   rH   rC   rC   rD   link   s   z	User.link)read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr;   offsetlimitrL   rM   rN   rO   r'   c             
      s(   |   j| j|||||||dI dH S )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_idrP   rQ   rL   rM   rN   rO   r;   N)get_botget_user_profile_photosr3   )r@   rP   rQ   rL   rM   rN   rO   r;   rC   rC   rD   get_profile_photos   s   zUser.get_profile_photosrI   c                 C      |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_markdownr3   rG   r@   rI   rC   rC   rD   r   	  s   zUser.mention_markdownc                 C   s&   |r
t | j|ddS t | j| jd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).

           )versionrW   rY   rC   rC   rD   mention_markdown_v2  s   	zUser.mention_markdown_v2c                 C   rV   )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_htmlr3   rG   rY   rC   rC   rD   r   (  s   	zUser.mention_htmlc                 C   s   t |p| jd| j d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   rG   r3   rY   rC   rC   rD   mention_button5  s   zUser.mention_button
message_iddisable_notificationbusiness_connection_idc          	         s*   |   j| j||||||||d	I dH S )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_idra   rb   rL   rM   rN   rO   rc   r;   N)rS   pin_chat_messager3   )	r@   ra   rb   rc   rL   rM   rN   rO   r;   rC   rC   rD   pin_messageD     zUser.pin_messagec             
      s(   |   j| j|||||||dI dH S )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.

        )rd   rL   rM   rN   rO   r;   ra   rc   N)rS   unpin_chat_messager3   )r@   ra   rc   rL   rM   rN   rO   r;   rC   rC   rD   unpin_messagei  s   zUser.unpin_messagec                   $   |   j| j|||||dI dH S )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.

        rd   rL   rM   rN   rO   r;   N)rS   unpin_all_chat_messagesr3   r@   rL   rM   rN   rO   r;   rC   rC   rD   unpin_all_messages  s   zUser.unpin_all_messages)reply_to_message_iddisable_web_page_previewallow_sending_without_replyrL   rM   rN   rO   r;   r^   
parse_modereply_markupentitiesr!   protect_contentmessage_thread_idlink_preview_optionsr   reply_parametersr$   message_effect_idallow_paid_broadcastro   rp   rq   r    c                   s   |   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|I dH S )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.

        rd   r^   rr   rp   rw   rb   ro   rx   rs   rq   rt   ru   rv   rL   rM   rN   rO   r;   rc   ry   rz   NrC   )rS   send_messager3   )r@   r^   rr   rb   rs   rt   ru   rv   rw   rx   rc   ry   rz   ro   rp   rq   rL   rM   rN   rO   r;   rC   rC   rD   r{     X   %	

zUser.send_messagec             	      &   |   j| j||||||dI dH S )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.

        )rd   ra   rL   rM   rN   rO   r;   N)rS   delete_messager3   )r@   ra   rL   rM   rN   rO   r;   rC   rC   rD   r~        zUser.delete_messagemessage_idsc             	      r}   )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.

        )rd   r   rL   rM   rN   rO   r;   N)rS   delete_messagesr3   )r@   r   rL   rM   rN   rO   r;   rC   rC   rD   r   	  r   zUser.delete_messages)ro   rq   filenamerL   rM   rN   rO   r;   photor#   captioncaption_entitieshas_spoilershow_caption_above_mediar   c                   s   |   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|I dH S )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.

        rd   r   r   rb   ro   rx   rs   rr   rq   r   r   ru   rv   rL   rM   rN   rO   r;   r   rc   ry   rz   r   NrC   )rS   
send_photor3   )r@   r   r   rb   rs   rr   r   ru   rv   r   rx   rc   ry   rz   r   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r   )  `   '	

zUser.send_photo)
ro   rq   rL   rM   rN   rO   r;   r   rr   r   media)r   r   r   r   )r    .c	       
            s   |   jdi d| jd|d|d|	d|d|d|d|d	|d
|d|
d|d|d|d|d|d|d|d|I dH S )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.

        rd   r   rb   ro   rx   rL   rM   rN   rO   r;   rq   ru   rv   r   rr   r   rc   ry   rz   NrC   )rS   send_media_groupr3   )r@   r   rb   ru   rv   rx   rc   ry   rz   ro   rq   rL   rM   rN   rO   r;   r   rr   r   rC   rC   rD   r   j  sP   &	

zUser.send_media_groupaudior   duration	performertitle	thumbnailc                   s   |   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|I dH S )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.

        rd   r   r   r   r   r   rb   ro   rx   rs   rr   rq   r   r   ru   rv   rL   rM   rN   rO   r;   r   rc   ry   rz   NrC   )rS   
send_audior3   )r@   r   r   r   r   r   rb   rs   rr   r   ru   rv   r   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     h   )	

zUser.send_audioactionc          	         s*   |   j| j||||||||d	I dH S )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.

        )	rd   r   rv   rL   rM   rN   rO   r;   rc   N)rS   send_chat_actionr3   )	r@   r   rv   rc   rL   rM   rN   rO   r;   rC   rC   rD   r     rg   zUser.send_chat_action)ro   rq   contactrL   rM   rN   rO   r;   phone_numbervcardr   r   c                   s   |   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|I dH S )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.

        rd   r   r1   r7   rb   ro   rx   rs   rL   rM   rN   rO   r   r   r;   rq   ru   rv   rc   ry   rz   NrC   )rS   send_contactr3   )r@   r   r1   r7   rb   rs   r   ru   rv   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     r|   zUser.send_contact)ro   rq   rL   rM   rN   rO   r;   emojic
                   s   |   jdi d| jd|d|
d|d|d|d|d|d	|d
|d|d|d|d|d|d|d|	I dH S )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.

        rd   rb   ro   rx   rs   rL   rM   rN   rO   r   r;   rq   ru   rv   rc   ry   rz   NrC   )rS   	send_dicer3   )r@   rb   rs   r   ru   rv   rx   rc   ry   rz   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r   P  H   !	

zUser.send_dicedocumentr   disable_content_type_detectionc                   s   |   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|I dH S )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.

        rd   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   rr   r   r;   r   rq   r   ru   rv   rc   ry   rz   NrC   )rS   send_documentr3   )r@   r   r   rb   rs   rr   r   r   ru   rv   r   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     r   zUser.send_documentgame_short_namer   c
                   s   |   jdi d| jd|d|d|
d|d|d|d|d	|d
|d|d|d|d|d|d|d|	I dH S )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.

        rd   r   rb   ro   rx   rs   rL   rM   rN   rO   r;   rq   ru   rv   rc   ry   rz   NrC   )rS   	send_gamer3   )r@   r   rb   rs   ru   rv   rx   rc   ry   rz   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r     r   zUser.send_game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          $         s   |   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$|I d%H S )'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.

        rd   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rb   ro   rx   rs   r   r   r   rL   rM   rN   rO   r;   rq   r   r   ru   rv   ry   rz   NrC   )rS   send_invoicer3   )$r@   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rb   rs   r   r   r   r   r   ru   rv   rx   ry   rz   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r     s   >	
 !"#$
zUser.send_invoice)ro   rq   locationrL   rM   rN   rO   r;   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr   r   c                   s   |   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|I dH S )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.

        rd   r   r   rb   ro   rx   rs   rL   rM   rN   rO   r   r   r;   r   r   r   rq   ru   rv   rc   ry   rz   NrC   )rS   send_locationr3   )r@   r   r   rb   rs   r   r   r   r   ru   rv   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r   `  r   zUser.send_location	animationr   widthheightc                   s   |   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|I dH S )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.

        rd   r   r   r   r   r   rr   rb   ro   rx   rs   rL   rM   rN   rO   r;   rq   r   r   ru   rv   r   r   rc   ry   rz   r   NrC   )rS   send_animationr3   )r@   r   r   r   r   r   rr   rb   rs   r   ru   rv   r   r   rx   rc   ry   rz   r   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     sp   +	

zUser.send_animationstickerr%   c                   s   |   jdi d| jd|d|d|d|d|d|d|d	|d
|d|d|d|d|d|d|d|	d|
I dH S )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.

        rd   r   rb   ro   rx   rs   rL   rM   rN   rO   r;   rq   ru   rv   r   rc   ry   rz   NrC   )rS   send_stickerr3   )r@   r   rb   rs   ru   rv   r   rx   rc   ry   rz   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r     sL   "	

zUser.send_stickervideor)   supports_streamingcoverstart_timestampc                   s   |   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|I dH S )!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.

        rd   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   r   r   rr   r   r   r   r   r;   rq   r   r   ru   rv   r   rc   ry   rz   r   NrC   )rS   
send_videor3   )r@   r   r   r   rb   rs   r   r   rr   r   r   ru   rv   r   r   rx   rc   ry   rz   r   r   r   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r   !  |   .	

zUser.send_video)ro   rq   venuerL   rM   rN   rO   r;   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typer   r(   c                   s   |   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|I dH S )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.

        rd   r   r   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   r   r   r;   r   r   rq   ru   rv   rc   ry   rz   NrC   )rS   
send_venuer3   )r@   r   r   r   r   r   rb   rs   r   r   r   ru   rv   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r   p  r   zUser.send_venue
video_noter*   lengthc                   s   |   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|I dH S )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.

        rd   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   r;   rq   r   ru   rv   r   rc   ry   rz   NrC   )rS   send_video_noter3   )r@   r   r   r   rb   rs   ru   rv   r   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     r|   zUser.send_video_notevoicer+   c                   s   |   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|I dH S )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.

        rd   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   rr   r;   rq   r   r   ru   rv   rc   ry   rz   NrC   )rS   
send_voicer3   )r@   r   r   r   rb   rs   rr   r   ru   rv   rx   rc   ry   rz   ro   rq   r   rL   rM   rN   rO   r;   rC   rC   rD   r     s\   &	

zUser.send_voice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                   s   |   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|I dH S )!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.

        rd   r   r   r   r   r   r   r   rb   ro   rx   rs   rL   rM   rN   rO   r   r   r   r   r;   rq   r   ru   rv   rc   r   r   ry   rz   NrC   )rS   	send_pollr3   )r@   r   r   r   r   r   r   r   rb   rs   r   r   r   r   r   ru   rv   rx   rc   r   r   ry   rz   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r   1  r   zUser.send_pollgift_idr   text_parse_modetext_entitiespay_for_upgradec                   s0   |   jd| j|||||||||	|
dI dH S )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)rd   rR   r   r^   r   r   r   rL   rM   rN   rO   r;   )rS   	send_giftr3   )r@   r   r^   r   r   r   rL   rM   rN   rO   r;   rC   rC   rD   r     s   zUser.send_giftmonth_count
star_countc                   .   |   j| j|||||||||	|
dI dH S )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.
        )rR   r   r   r^   r   r   rL   rM   rN   rO   r;   N)rS   gift_premium_subscriptionr3   )r@   r   r   r^   r   r   rL   rM   rN   rO   r;   rC   rC   rD   r     s   zUser.gift_premium_subscriptionfrom_chat_idvideo_start_timestampr"   c                      |   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|I dH S )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.

        rd   r   ra   r   r   rr   r   rb   ro   rx   rq   rs   rL   rM   rN   rO   r;   ru   rv   r   rz   NrC   rS   copy_messager3   )r@   r   ra   r   rr   r   rb   rs   ru   rv   rx   r   rz   r   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   	send_copy  r|   zUser.send_copyrd   c                   r   )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   rd   ra   r   r   rr   r   rb   ro   rx   rq   rs   rL   rM   rN   rO   r;   ru   rv   r   rz   NrC   r   )r@   rd   ra   r   rr   r   rb   rs   ru   rv   rx   r   rz   r   ro   rq   rL   rM   rN   rO   r;   rC   rC   rD   r     r|   zUser.copy_messageremove_caption)r"   .c                   0   |   j| j|||||||||	|
|dI dH S )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.

        )rd   r   r   rb   ru   rv   r   rL   rM   rN   rO   r;   NrS   copy_messagesr3   )r@   r   r   rb   ru   rv   r   rL   rM   rN   rO   r;   rC   rC   rD   send_copiesJ     zUser.send_copiesc                   r   )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   rd   r   rb   ru   rv   r   rL   rM   rN   rO   r;   Nr   )r@   rd   r   rb   ru   rv   r   rL   rM   rN   rO   r;   rC   rC   rD   r   w  r   zUser.copy_messagesc                   0   |   j| j|||||||	|
|||dI dH S )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.

        )rd   r   ra   r   rb   rL   rM   rN   rO   r;   ru   rv   NrS   forward_messager3   )r@   r   ra   rb   ru   rv   r   rL   rM   rN   rO   r;   rC   rC   rD   forward_from  s   zUser.forward_fromc                   r   )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   rd   ra   r   rb   rL   rM   rN   rO   r;   ru   rv   Nr   )r@   rd   ra   rb   ru   rv   r   rL   rM   rN   rO   r;   rC   rC   rD   
forward_to  r   zUser.forward_toc                   r   )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.

        )rd   r   r   rb   ru   rv   rL   rM   rN   rO   r;   NrS   forward_messagesr3   )r@   r   r   rb   ru   rv   rL   rM   rN   rO   r;   rC   rC   rD   forward_messages_from     zUser.forward_messages_fromc                   r   )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   rd   r   rb   ru   rv   rL   rM   rN   rO   r;   Nr   )r@   rd   r   rb   ru   rv   rL   rM   rN   rO   r;   rC   rC   rD   forward_messages_to(  r  zUser.forward_messages_toc             	      r}   )a  Shortcut for::

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

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

        Note:
            |user_chat_id_note|

        .. versionadded:: 13.8

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

        rR   rd   rL   rM   rN   rO   r;   N)rS   approve_chat_join_requestr3   r@   rd   rL   rM   rN   rO   r;   rC   rC   rD   approve_join_requestS     zUser.approve_join_requestc             	      r}   )a  Shortcut for::

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

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

        Note:
            |user_chat_id_note|

        .. versionadded:: 13.8

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

        r  N)rS   decline_chat_join_requestr3   r  rC   rC   rD   decline_join_requestw  r  zUser.decline_join_requestmenu_buttonc             	      r}   )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.
        )rd   r  rL   rM   rN   rO   r;   N)rS   set_chat_menu_buttonr3   )r@   r  rL   rM   rN   rO   r;   rC   rC   rD   set_menu_button  s   zUser.set_menu_buttonc                   rj   )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.
        rk   N)rS   get_chat_menu_buttonr3   rm   rC   rC   rD   get_menu_button  s   zUser.get_menu_buttonr&   c             	      s&   |   j|| j|||||dI dH S )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.
        )rd   rR   rL   rM   rN   rO   r;   N)rS   get_user_chat_boostsr3   r  rC   rC   rD   get_chat_boosts  s   zUser.get_chat_booststelegram_payment_charge_idc             	      r}   )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.
        )rR   r  rL   rM   rN   rO   r;   N)rS   refund_star_paymentr3   )r@   r  rL   rM   rN   rO   r;   rC   rC   rD   r  	  r   zUser.refund_star_paymentcustom_descriptionc             	      r}   )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.
        )rR   r  rL   rM   rN   rO   r;   N)rS   verify_userr3   )r@   r  rL   rM   rN   rO   r;   rC   rC   rD   verify#	  r   zUser.verifyc                   rj   )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.
        )rR   rL   rM   rN   rO   r;   N)rS   remove_user_verificationr3   rm   rC   rC   rD   remove_verificationC	  s   zUser.remove_verification)
NNNNNNNNNN)NN)N)N__name__
__module____qualname____doc__	__slots__intstrboolr   r   r=   propertyrI   rG   rK   r	   r   floatrU   r   r\   r   r   r`   rf   ri   rn   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  r  r
  r   r  r  r  r  r  r  __classcell__rC   rC   rA   rD   r,   G   s\   N	
'
	

!	

'	

&
#
	

A	
$	
#

	

F	


?
	


H	

%	

?	

8

	

D	

<	

 !"#$%&
g	

D
	


L
	

:
	

 
Q	

H
	

@

	

C	


 
R

	

,
	

,

	

A

	

A	
	

1	
	

1	
	

0	
	

1
	

/
	

/
	
(
	
&	
('
	$	"	#r,   )9r  r'  r&  collections.abcr   typingr   r   r   %telegram._inline.inlinekeyboardbuttonr   telegram._menubuttonr   telegram._telegramobjectr   telegram._utils.defaultvaluer	   telegram._utils.typesr
   r   r   r   r   r   telegram.helpersr   r]   r   rX   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,   rC   rC   rC   rD   <module>   s    p