
    i                       d 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 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 ddlmZ ddlmZmZmZmZm Z  ddl!m"Z" ddl!m#Z$ ddl!m%Z& er8ddlm'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@  G d de          ZA G d deA          ZBdS )z?This module contains an object that represents a Telegram Chat.    )datetime)escape)TYPE_CHECKINGFinalOptionalSequenceTupleUnion)	constants)ChatPermissions)
ForumTopic)
MenuButton)ReactionType)TelegramObject)enum)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInputReplyMarkup)escape_markdown)mention_html)mention_markdown)	AnimationAudioChatInviteLink
ChatMemberContactDocumentInlineKeyboardMarkupInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoInputPollOptionLabeledPriceLinkPreviewOptionsLocationMessageMessageEntity	MessageId	PhotoSizeReplyParametersStickerUserChatBoostsVenueVideo	VideoNoteVoicec            H       <    e Zd ZU dZdZ	 	 	 	 	 ddddededee         dee         d	ee         d
ee         dee         dee	         f fdZ
ej        j        Zee         ed<   	 ej        j        Zee         ed<   	 ej        j        Zee         ed<   	 ej        j        Zee         ed<   	 ej        j        Zee         ed<   	 edee         fd            Zedee         fd            Zedee         fd            Zddee         defdZddee         defdZddee         defdZeeeedddee         dee         dee         dee         dee	         defd Zeeeedddee         dee         dee         dee         dee	         ded!         fd"Z eeeedddee         dee         dee         dee         dee	         defd#Z!eeeeddd$edee         dee         dee         dee         dee	         dd%fd&Z"	 	 deeeeddd$ed'ee         d(ee#ee$f                  dee         dee         dee         dee         dee	         defd)Z%eeeeddd*edee         dee         dee         dee         dee	         defd+Z&eeeeddd,e#eef         dee         dee         dee         dee         dee	         defd-Z'eeeeddd*edee         dee         dee         dee         dee	         defd.Z(eeeeddd,e#eef         dee         dee         dee         dee         dee	         defd/Z)	 deeeeddd$ed0ee         dee         dee         dee         dee         dee	         defd1Z*	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 deeeeddd$ed2ee         d3ee         d4ee         d5ee         d6ee         d7ee         d8ee         d9ee         d:ee         d;ee         d<ee         d=ee         d>ee         d?ee         d@ee         dee         dee         dee         dee         dee	         def,dAZ+	 	 deeeeddd$edBe,d(ee#ee$f                  dCee         dee         dee         dee         dee         dee	         defdDZ-	 deeeedddBe,dCee         dee         dee         dee         dee         dee	         defdEZ.eeeeddd$edFedee         dee         dee         dee         dee	         defdGZ/eeeedddHe0dee         dee         dee         dee         dee	         defdIZ1eeeedddee         dee         dee         dee         dee	         defdJZ2e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dKZ3	 deeeedddLee         dee         dee         dee         dee         dee	         defdMZ4efeeeedddNedOee         dee         dee         dee         dee         dee	         defdPZ5	 d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dQZ6eeeedddee         dee         dee         dee         dee	         defdRZ7eeddededddf
dedeeeeddSdTedUee         dOee         dVee8         dWee9dX                  dYee         dZee         d[ed\         d]ed^         d_ee         d`ee         daee         dbee         dcee         dee         dee         dee         dee         dee	         dddf(deZ:eeeedddNedee         dee         dee         dee         dee	         defdfZ;eeeedddge9e         dee         dee         dee         dee         dee	         defdhZ<eeddddfdeeeeeddeddi
dje9e#dk                  dOee         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         dee         dee         dee         dee         dee	         dlee         dUee         dmee9dX                  dedn         f$doZ=	 	 deeeedddpedZee         d_ee         dee         dee         dee         dee         dee	         defdqZ>e>Z?	 dedededdddddfdedeeeeddrdHe#e0dsf         dlee         dOee         dVee8         dUee         dmee9dX                  dYee         dZee         dtee         d]ed^         d_ee         d`ee         duee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf,dwZ@dddeddeddddfdedeeeeddxdyee         d	ee         d
ee         dOee         dVee8         dzee         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         d{ed|         dee         dee         dee         dee         dee	         dddf(d}ZAddddedededddddfdedeeeeddrd~e#e0df         dee         dee         dee         dlee         dOee         dVee8         dUee         dmee9dX                  dYee         dZee         dee0         d]ed^         d_ee         d`ee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf0dZBdededdedddddfdedeeeeddrde#e0df         dlee         dOee         dVee8         dUee         dee         dmee9dX                  dYee         dZee         dee0         d]ed^         d_ee         d`ee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf,dZCeddeddddfdeeeeedddOee         dVee8         dee         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         dee         dee         dee         dee         dee	         dddf dZDededdddfdeeeeedddedOee         dVed         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         dee         dee         dee         dee         dee	         dddf dZEddddddddddeddddddedddfdeeeeedddedLededee         dede9d         dee         dee         dee         dee         dee         dee         dee         dee         dee         dee         dOee         dVed         dee#eeFf                  dee         dee         dee         dee9e                  dYee         dZee         d]ed^         d`ee         daee         dbee         dee         dee         dee         dee         dee	         dddfFdZGddedddddeddddfdedeeeedddee         dee         dOee         dVee8         dee         dee         dee         dee         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         ded         dee         dee         dee         dee         dee	         dddf,dZHddddeeddedddddddfdedeeeeddrde#e0df         dee         dee         dee         dlee         dUee         dOee         dVee8         dmee9dX                  dYee         dZee         dtee         dee0         d]ed^         d_ee         d`ee         duee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf4dZIededddddfdeeeeeddde#e0df         dOee         dVee8         dYee         dZee         dee         d]ed^         d_ee         d`ee         daee         dbee         dee         dee         dee         dee         dee	         dddf"dZJdddddeddddeddddfdedeeeedddee         dee         dee         dee         dee         dOee         dVee8         dee         dee         dee         dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         ded         dee         dee         dee         dee         dee	         dddf0dZKddedddeddedddddddfdedeeeeddrde#e0df         dee         dlee         dOee         dVee8         dee         dee         dUee         dee         dmee9dX                  dYee         dZee         dtee         dee0         d]ed^         d_ee         d`ee         duee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf6dZLddededddddf
dedeeeeddrde#e0df         dee         dee         dOee         dVee8         dYee         dZee         dee0         d]ed^         d_ee         d`ee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf(dńZMddedededdddfdedeeeeddrde#e0df         dee         dlee         dOee         dVee8         dUee         dmee9dX                  dYee         dZee         d]ed^         d_ee         d`ee         daee         dbee         dvee         dee         dee         dee         dee         dee	         dddf*dȄZNdddddeddedddedddeddfdeeeeedddede9e#edf                  d:ee         dee         dee         deeO         dee         dOee         dVee8         dee         dee         dee         dee#ee$f                  dee9dX                  dYee         dZee         d]ed^         d_ee         dee         dee9dX                  d`ee         daee         dbee         dee         dee         dee         dee         dee	         dddf:dքZPdedededddf	deeeeeddde#eef         dNedlee         dUee         dmee9dX                  dOee         dVee8         dYee         dZee         d]ed^         duee         daee         dbee         dee         dee         dee         dee         dee	         ddf&dلZQdedededddf	deeeeeddd,e#eef         dNedlee         dUee         dmee9dX                  dOee         dVee8         dYee         dZee         d]ed^         duee         daee         dbee         dee         dee         dee         dee         dee	         ddf&dڄZReeddfeeeeddde#eef         dge9e         dOee         dYee         dZee         dee         dee         dee         dee         dee         dee	         ded         fd݄ZSeeddfeeeeddd,e#eef         dge9e         dOee         dYee         dZee         dee         dee         dee         dee         dee         dee	         ded         fdބZTeedfeeeeddde#eef         dNedOee         dYee         dZee         dee         dee         dee         dee         dee	         dddfd߄ZUeedfeeeeddd,e#eef         dNedOee         dYee         dZee         dee         dee         dee         dee         dee	         dddfdZVeedfeeeeddde#eef         dge9e         dOee         dYee         dZee         dee         dee         dee         dee         dee	         ded         fdZWeedfeeeeddd,e#eef         dge9e         dOee         dYee         dZee         dee         dee         dee         dee         dee	         ded         fdZXeeeedddee         dee         dee         dee         dee	         defdZY	 	 	 	 deeeedddee#ee$f                  dee         dee         dee         dee         dee         dee         dee         dee	         ddfdZZ	 	 	 	 deeeeddde#edf         dee#ee$f                  dee         dee         dee         dee         dee         dee         dee         dee	         ddfdZ[eeeeddde#edf         dee         dee         dee         dee         dee	         ddfdZ\eeeeddd$edee         dee         dee         dee         dee	         defdZ]eeeeddd$edee         dee         dee         dee         dee	         defdZ^	 deeeedddee_         dee         dee         dee         dee         dee	         defdZ`	 	 deeeedddedee         dee         dee         dee         dee         dee         dee	         deafdZb	 	 deeeedddZedee         dee         dee         dee         dee         dee         dee	         defdZceeeedddZedee         dee         dee         dee         dee	         defdZdeeeedddZedee         dee         dee         dee         dee	         defdZeeeeedddZedee         dee         dee         dee         dee	         defdZfeeeedddZedee         dee         dee         dee         dee	         defdZgeeeedddee         dee         dee         dee         dee	         defdZhe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Zieeeedddee         dee         dee         dee         dee	         defdZjeeeedddee         dee         dee         dee         dee	         defdZkeeeedddee         dee         dee         dee         dee	         defdZleeeedddee         dee         dee         dee         dee	         defdZmeeeedddee         dee         dee         dee         dee	         de_fdZneeeeddd$edee         dee         dee         dee         dee	         ddfd Zo	 	 deeeedddNedee#e9e#epef                  epef                  dee         dee         dee         dee         dee         dee	         defdZq xZrS (	  	_ChatBasezjBase class for :class:`telegram.Chat` and :class:`telegram.ChatFullInfo`.

    .. versionadded:: 21.3
    )
first_nameidis_forum	last_nametitletypeusernameN
api_kwargsr8   r<   r;   r=   r7   r:   r9   r?   c                ,   t                                          |           || _        t          j        t
          j        ||          | _        || _        || _	        || _
        || _        || _        | j        f| _        |                                  d S )Nr>   )super__init__r8   r   
get_memberr   ChatTyper<   r;   r=   r7   r:   r9   	_id_attrs_freeze)
selfr8   r<   r;   r=   r7   r:   r9   r?   	__class__s
            T/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_chat.pyrB   z_ChatBase.__init__M   s~     	J///);T4HH	$)
'/)3(1(0'    SENDERPRIVATEGROUP
SUPERGROUPCHANNELreturnc                 >    | j         | j         S | j        | j        S dS )z
        :obj:`str`: Convenience property. Gives :attr:`~Chat.title` if not :obj:`None`,
        else :attr:`~Chat.full_name` if not :obj:`None`.

        .. versionadded:: 20.1
        N)r;   	full_namerG   s    rI   effective_namez_ChatBase.effective_namev   s)     :!:>%>!trJ   c                 R    | j         sdS | j        r| j          d| j         S | j         S )a]  
        :obj:`str`: Convenience property. If :attr:`~Chat.first_name` is not :obj:`None`, gives
        :attr:`~Chat.first_name` followed by (if available) :attr:`~Chat.last_name`.

        Note:
            :attr:`full_name` will always be :obj:`None`, if the chat is a (super)group or
            channel.

        .. versionadded:: 13.2
        N )r7   r:   rS   s    rI   rR   z_ChatBase.full_name   s=      	4> 	9o88888rJ   c                 (    | j         r
d| j          S dS )z}:obj:`str`: Convenience property. If the chat has a :attr:`~Chat.username`, returns a
        t.me link of the chat.
        zhttps://t.me/N)r=   rS   s    rI   linkz_ChatBase.link   s#    
 = 	324=222trJ   namec                 N   | j         | j        k    rG|rt          | j        |          S | j        rt          | j        | j                  S t          d          | j        r9|rd| d| j         dS | j        rd| j         d| j         dS t          d          t          d          )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.

        .. versionadded:: 20.0

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

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

        Raises:
            :exc:`TypeError`: If the chat is a private chat and neither the :paramref:`name`
                nor the :attr:`~Chat.first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the
                :attr:`~Chat.title` is set, then throw an :exc:`TypeError`. If chat is a
                private group chat, then throw an :exc:`TypeError`.

        =Can not create a mention to a private chat without first name[]()7Can not create a mention to a public chat without title0Can not create a mention to a private group chat)	r<   rL   helpers_mention_markdownr8   rR   	TypeErrorr=   rX   r;   rG   rY   s     rI   r   z_ChatBase.mention_markdown   s    0 9$$ ?/>>>~ I/HHH[\\\= 	W 0/4//49////z 654:555555UVVVJKKKrJ   c                    | j         | j        k    rK|rt          | j        |d          S | j        rt          | j        | j        d          S t          d          | j        rW|rdt          |d           d| j         dS | j	        r"dt          | j	        d           d| j         dS t          d          t          d          )	a  
        .. versionadded:: 20.0

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

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

        Raises:
            :exc:`TypeError`: If the chat is a private chat and neither the :paramref:`name`
                nor the :attr:`~Chat.first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the
                :attr:`~Chat.title` is set, then throw an :exc:`TypeError`. If chat is a
                private group chat, then throw an :exc:`TypeError`.

           )versionr[   r\   r]   r^   r_   r`   )
r<   rL   ra   r8   rR   rb   r=   r   rX   r;   rc   s     rI   mention_markdown_v2z_ChatBase.mention_markdown_v2   s    & 9$$ J/qIIII~ T/QRSSSS[\\\= 	W LK?4;;;KKtyKKKKz RQ?4:qAAAQQTYQQQQUVVVJKKKrJ   c                    | j         | j        k    rG|rt          | j        |          S | j        rt          | j        | j                  S t          d          | j        rS|rd| j         dt          |           dS | j	        r d| j         dt          | j	                   dS t          d          t          d          )a  
        .. versionadded:: 20.0

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

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

        Raises:
            :exc:`TypeError`: If the chat is a private chat and neither the :paramref:`name`
                nor the :attr:`~Chat.first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the
                :attr:`~Chat.title` is set, then throw an :exc:`TypeError`.
                If chat is a private group chat, then throw an :exc:`TypeError`.

        r[   z	<a href="z">z</a>r_   r`   )
r<   rL   helpers_mention_htmlr8   rR   rb   r=   rX   r   r;   rc   s     rI   r   z_ChatBase.mention_html   s    $ 9$$ ;+DGT:::~ E+DGT^DDD[\\\= 	W CB49BBtBBBBz IH49HHtz0B0BHHHHUVVVJKKKrJ   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr?   rj   rk   rl   rm   c                v   K   |                                                      | j        |||||           d{V S )a  Shortcut for::

             await bot.leave_chat(update.effective_chat.id, *args, **kwargs)

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

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

        chat_idrj   rk   rl   rm   r?   N)get_bot
leave_chatr8   rG   rj   rk   rl   rm   r?   s         rI   leavez_ChatBase.leave  s_      & \\^^..G%'+%! / 
 
 
 
 
 
 
 
 	
rJ   )r   .c                v   K   |                                                      | j        |||||           d{V S )a]  Shortcut for::

             await bot.get_chat_administrators(update.effective_chat.id, *args, **kwargs)

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

        Returns:
            Tuple[:class:`telegram.ChatMember`]: A tuple of administrators in a chat. An Array of
            :class:`telegram.ChatMember` objects that contains information about all
            chat administrators except other bots. If the chat is a group or a supergroup
            and no administrators were appointed, only the creator will be returned.

        ro   N)rq   get_chat_administratorsr8   rs   s         rI   get_administratorsz_ChatBase.get_administrators"  s_      . \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a	  Shortcut for::

             await bot.get_chat_member_count(update.effective_chat.id, *args, **kwargs)

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

        Returns:
            :obj:`int`
        ro   N)rq   get_chat_member_countr8   rs   s         rI   get_member_countz_ChatBase.get_member_countB  s_      & \\^^99G%'+%! : 
 
 
 
 
 
 
 
 	
rJ   user_idr   c          	      x   K   |                                                      | j        ||||||           d{V S )a  Shortcut for::

             await bot.get_chat_member(update.effective_chat.id, *args, **kwargs)

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

        Returns:
            :class:`telegram.ChatMember`

        rp   r{   rj   rk   rl   rm   r?   N)rq   get_chat_memberr8   rG   r{   rj   rk   rl   rm   r?   s          rI   rC   z_ChatBase.get_member^  sb      ( \\^^33G%'+%! 4 
 
 
 
 
 
 
 
 	
rJ   revoke_messages
until_datec                |   K   |                                                      | j        ||||||||	  	         d{V S )a$  Shortcut for::

             await bot.ban_chat_member(update.effective_chat.id, *args, **kwargs)

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

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )	rp   r{   rj   rk   rl   rm   r   r?   r   N)rq   ban_chat_memberr8   )	rG   r{   r   r   rj   rk   rl   rm   r?   s	            rI   
ban_memberz_ChatBase.ban_member|  sh      , \\^^33G%'+%!!+ 4 

 

 

 

 

 

 

 

 
	
rJ   sender_chat_idc          	      x   K   |                                                      | j        ||||||           d{V S )aW  Shortcut for::

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

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

        .. versionadded:: 13.9

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

        rp   r   rj   rk   rl   rm   r?   Nrq   ban_chat_sender_chatr8   rG   r   rj   rk   rl   rm   r?   s          rI   ban_sender_chatz_ChatBase.ban_sender_chat  sb      . \\^^88G)%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   rp   c          	      x   K   |                                                      || j        |||||           d{V S )a~  Shortcut for::

             await bot.ban_chat_sender_chat(
                 sender_chat_id=update.effective_chat.id, *args, **kwargs
             )

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

        .. versionadded:: 13.9

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

        r   Nr   rG   rp   rj   rk   rl   rm   r?   s          rI   ban_chatz_ChatBase.ban_chat  sb      2 \\^^887%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )a[  Shortcut for::

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

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

        .. versionadded:: 13.9

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

        r   Nrq   unban_chat_sender_chatr8   r   s          rI   unban_sender_chatz_ChatBase.unban_sender_chat  sb      . \\^^::G)%'+%! ; 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      || j        |||||           d{V S )a  Shortcut for::

             await bot.unban_chat_sender_chat(
                 sender_chat_id=update.effective_chat.id, *args, **kwargs
             )

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

        .. versionadded:: 13.9

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

        r   Nr   r   s          rI   
unban_chatz_ChatBase.unban_chat  sb      2 \\^^::7%'+%! ; 
 
 
 
 
 
 
 
 	
rJ   only_if_bannedc          
      z   K   |                                                      | j        |||||||           d{V S )a!  Shortcut for::

             await bot.unban_chat_member(update.effective_chat.id, *args, **kwargs)

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

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

        )rp   r{   rj   rk   rl   rm   r?   r   N)rq   unban_chat_memberr8   )rG   r{   r   rj   rk   rl   rm   r?   s           rI   unban_memberz_ChatBase.unban_member&  se      * \\^^55G%'+%!) 6 	
 	
 	
 	
 	
 	
 	
 	
 		
rJ   can_change_infocan_post_messagescan_edit_messagescan_delete_messagescan_invite_userscan_restrict_memberscan_pin_messagescan_promote_membersis_anonymouscan_manage_chatcan_manage_video_chatscan_manage_topicscan_post_storiescan_edit_storiescan_delete_storiesc                   K   |                                                      | j        |||||||||	||||||
||||||           d{V S )a  Shortcut for::

             await bot.promote_chat_member(update.effective_chat.id, *args, **kwargs)

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

        .. versionadded:: 13.2
        .. versionchanged:: 20.0
           The argument ``can_manage_voice_chats`` was renamed to
           :paramref:`~telegram.Bot.promote_chat_member.can_manage_video_chats` in accordance to
           Bot API 6.0.
        .. versionchanged:: 20.6
           The arguments `can_post_stories`, `can_edit_stories` and `can_delete_stories` were
           added.

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

        )rp   r{   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   r   r   r   r   N)rq   promote_chat_memberr8   )rG   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                         rI   promote_memberz_ChatBase.promote_memberF  s      Z \\^^77G+// 3-!5- 3%'+%!%+#9/--1- 8 
 
 
 
 
 
 
 
 	
rJ   permissions use_independent_chat_permissionsc                ~   K   |                                                      | j        |||||||||	
  
         d{V S )a  Shortcut for::

             await bot.restrict_chat_member(update.effective_chat.id, *args, **kwargs)

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

        .. versionadded:: 13.2

        .. versionadded:: 20.1
            Added :paramref:`~telegram.Bot.restrict_chat_member.use_independent_chat_permissions`.

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

        )
rp   r{   r   r   r   rj   rk   rl   rm   r?   N)rq   restrict_chat_memberr8   )
rG   r{   r   r   r   rj   rk   rl   rm   r?   s
             rI   restrict_memberz_ChatBase.restrict_member  sk      : \\^^88G#!-M%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   c          
      z   K   |                                                      | j        |||||||           d{V S )a  Shortcut for::

             await bot.set_chat_permissions(update.effective_chat.id, *args, **kwargs)

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

        .. versionadded:: 20.1
            Added :paramref:`~telegram.Bot.set_chat_permissions.use_independent_chat_permissions`.

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

        )rp   r   r   rj   rk   rl   rm   r?   N)rq   set_chat_permissionsr8   )rG   r   r   rj   rk   rl   rm   r?   s           rI   set_permissionsz_ChatBase.set_permissions  se      2 \\^^88G#-M%'+%! 9 	
 	
 	
 	
 	
 	
 	
 	
 		
rJ   custom_titlec          
      z   K   |                                                      | j        |||||||           d{V S )am  Shortcut for::

             await bot.set_chat_administrator_custom_title(
                 update.effective_chat.id, *args, **kwargs
             )

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

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

        )rp   r{   r   rj   rk   rl   rm   r?   N)rq   #set_chat_administrator_custom_titler8   )rG   r{   r   rj   rk   rl   rm   r?   s           rI   set_administrator_custom_titlez(_ChatBase.set_administrator_custom_title  sf      0 \\^^GGG%%'+%! H 	
 	
 	
 	
 	
 	
 	
 	
 		
rJ   photoc          	      x   K   |                                                      | j        ||||||           d{V S )ak  Shortcut for::

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

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

        .. versionadded:: 20.0

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

        )rp   r   rj   rk   rl   rm   r?   N)rq   set_chat_photor8   )rG   r   rj   rk   rl   rm   r?   s          rI   	set_photoz_ChatBase.set_photo  b      2 \\^^22G%'+%! 3 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )aq  Shortcut for::

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

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

        .. versionadded:: 20.0

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

        ro   N)rq   delete_chat_photor8   rs   s         rI   delete_photoz_ChatBase.delete_photo   s_      0 \\^^55G%'+%! 6 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )ak  Shortcut for::

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

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

        .. versionadded:: 20.0

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

        )rp   r;   rj   rk   rl   rm   r?   N)rq   set_chat_titler8   )rG   r;   rj   rk   rl   rm   r?   s          rI   	set_titlez_ChatBase.set_titleA  r   rJ   descriptionc          	      x   K   |                                                      | j        ||||||           d{V S )aw  Shortcut for::

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

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

        .. versionadded:: 20.0

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

        )rp   r   rj   rk   rl   rm   r?   N)rq   set_chat_descriptionr8   )rG   r   rj   rk   rl   rm   r?   s          rI   set_descriptionz_ChatBase.set_descriptiond  sb      2 \\^^88G#%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   
message_iddisable_notificationc          
      z   K   |                                                      | j        |||||||           d{V S )a0  Shortcut for::

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

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

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

        )rp   r   r   rj   rk   rl   rm   r?   N)rq   pin_chat_messager8   )rG   r   r   rj   rk   rl   rm   r?   s           rI   pin_messagez_ChatBase.pin_message  se      , \\^^44G!!5%'+%! 5 	
 	
 	
 	
 	
 	
 	
 	
 		
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )a4  Shortcut for::

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

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

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

        )rp   rj   rk   rl   rm   r?   r   N)rq   unpin_chat_messager8   rG   r   rj   rk   rl   rm   r?   s          rI   unpin_messagez_ChatBase.unpin_message  sb      * \\^^66G%'+%!! 7 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a>  Shortcut for::

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

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

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

        ro   N)rq   unpin_all_chat_messagesr8   rs   s         rI   unpin_all_messagesz_ChatBase.unpin_all_messages  s_      ( \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rJ   )reply_to_message_idallow_sending_without_replydisable_web_page_previewrj   rk   rl   rm   r?   text
parse_modereply_markupentitiesr+   protect_contentmessage_thread_idlink_preview_optionsr(   reply_parametersr.   business_connection_idmessage_effect_idr   r   r   r*   c                   K   |                                                      | j        |||||||	|||||||||||
|           d{V S )a6  Shortcut for::

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

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

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

        )rp   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   N)rq   send_messager8   )rG   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                       rI   r   z_ChatBase.send_message  s      B \\^^00G!%=!5 3!5-%(C+/%'+%!#9/) 1 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )a;  Shortcut for::

             await bot.delete_message(update.effective_chat.id, *args, **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.

        )rp   r   rj   rk   rl   rm   r?   N)rq   delete_messager8   r   s          rI   r   z_ChatBase.delete_message  sb      , \\^^22G!%'+%! 3 
 
 
 
 
 
 
 
 	
rJ   message_idsc          	      x   K   |                                                      | j        ||||||           d{V S )a=  Shortcut for::

             await bot.delete_messages(update.effective_chat.id, *args, **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.

        )rp   r   rj   rk   rl   rm   r?   N)rq   delete_messagesr8   )rG   r   rj   rk   rl   rm   r?   s          rI   r   z_ChatBase.delete_messages<  sb      , \\^^33G#%'+%! 4 
 
 
 
 
 
 
 
 	
rJ   )
r   r   rj   rk   rl   rm   r?   captionr   caption_entitiesmedia)r"   r#   r$   r%   r   r   )r*   .c       
            K   |                                                      | j        ||||
|||||	||||||||           d{V S )as  Shortcut for::

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

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

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

        )rp   r   r   r   rj   rk   rl   rm   r?   r   r   r   r   r   r   r   r   r   N)rq   send_media_groupr8   )rG   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   s                     rI   r   z_ChatBase.send_media_group\  s      D \\^^44G!5 3%'+%!(C+/!--#9/% 5 
 
 
 
 
 
 
 
 	
rJ   actionc                |   K   |                                                      | j        ||||||||	  	         d{V S )a  Shortcut for::

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

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

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

        )	rp   r   r   rj   rk   rl   rm   r?   r   N)rq   send_chat_actionr8   )	rG   r   r   r   rj   rk   rl   rm   r?   s	            rI   r   z_ChatBase.send_chat_action  sh      , \\^^44G/%'+%!#9 5 

 

 

 

 

 

 

 

 
	
rJ   )r   r   filenamerj   rk   rl   rm   r?   r-   has_spoilershow_caption_above_mediar   c                   K   |                                                      | j        |||||
|||||||||||||	|||           d{V S )a2  Shortcut for::

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

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

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

        )rp   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   r   N)rq   
send_photor8   )rG   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                         rI   r   z_ChatBase.send_photo  s      F \\^^..G!5 3-%!(C-+/%'+%!##9/%=- / 
 
 
 
 
 
 
 
 	
rJ   )r   r   contactrj   rk   rl   rm   r?   phone_numbervcardr   r   c                   K   |                                                      | j        ||||||	||||||||||||
|           d{V S )a6  Shortcut for::

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

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

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

        )rp   r   r7   r:   r   r   r   r   rj   rk   rl   rm   r   r   r?   r   r   r   r   r   N)rq   send_contactr8   )rG   r   r7   r:   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                       rI   r   z_ChatBase.send_contact  s      B \\^^00G%!!5 3-%%'+%!(C+/#9/) 1 
 
 
 
 
 
 
 
 	
rJ   audior   duration	performer	thumbnailc                   K   |                                                      | j        ||||||||||||	||
|||||||||           d{V S )a2  Shortcut for::

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

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

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

        )rp   r   r   r   r;   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   N)rq   
send_audior8   )rG   r   r   r   r;   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                           rI   r   z_ChatBase.send_audio,  s      J \\^^..G!5 3-%!(C-+/%'+%!#9/1 / 
 
 
 
 
 
 
 
 	
rJ   documentr    disable_content_type_detectionc                   K   |                                                      | j        |||||||||||||
||||||	||           d{V S )a8  Shortcut for::

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

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

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

        )rp   r   r   r   r   r   r   r   rj   rk   rl   rm   r   r   r?   r   r   r   r   r   r   r   N)rq   send_documentr8   )rG   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                         rI   r  z_ChatBase.send_documentl  s      F \\^^11G!5 3-%%'+%!!+I(C-+/#9/- 2 
 
 
 
 
 
 
 
 	
rJ   )r   r   rj   rk   rl   rm   r?   emojic	                   K   |                                                      | j        ||	|||||||||
||||           d{V S )a0  Shortcut for::

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

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

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

        )rp   r   r   r   r   rj   rk   rl   rm   r  r?   r   r   r   r   r   N)rq   	send_dicer8   )rG   r   r   r  r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                   rI   r  z_ChatBase.send_dice  s}      : \\^^--G!5 3-%%'+%!(C+/#9/! . 
 
 
 
 
 
 
 
 	
rJ   game_short_namer!   c	                   K   |                                                      | j        |||	||||||||
||||           d{V S )a0  Shortcut for::

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

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

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

        )rp   r  r   r   r   r   rj   rk   rl   rm   r?   r   r   r   r   r   N)rq   	send_gamer8   )rG   r  r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                   rI   r  z_ChatBase.send_game  s}      : \\^^--G+!5 3-%%'+%!(C+/#9/! . 
 
 
 
 
 
 
 
 	
rJ   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                (  K    |                                  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${V S )&a  Shortcut for::

             await bot.send_invoice(update.effective_chat.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.

        .. 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.

        rp   r;   r   r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  rj   rk   rl   rm   r?   r   r  r  r   r   r   r   N )rq   send_invoicer8   )#rG   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   r   r   rj   rk   rl   rm   r?   s#                                      rI   r  z_ChatBase.send_invoice  s     t 1T\\^^0 $
 $
 $
GG$
%$
 $$
 G	$

 *>$
 X$
 6$
 ,O$
  i$
 "z$
 $$
 &$
  i$
 0/$
 "z$
  #8"7!$
" $#$
$ "6!5%$
& !4 3'$
( &)$
* (-+$
, +H*G-$
. $:#9/$
0 &1$
2 (-3$
4 ,O5$
6 &7$
8 "z9$
: )D(C;$
< *>=$
> #8"7?$
@ ,OA$
B 0/C$
D .-E$
F 0/G$
 $
 $
 $
 $
 $
 $
 $	
rJ   )r   r   locationrj   rk   rl   rm   r?   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr  r)   c                   K   |                                                      | j        ||||||||||||||||||	|
||           d{V S )a8  Shortcut for::

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

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

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

        )rp   r  r   r   r   r   r   rj   rk   rl   rm   r  r!  r?   r"  r#  r$  r   r   r   r   r   N)rq   send_locationr8   )rG   r  r   r   r   r!  r"  r#  r$  r   r   r   r   r   r   r   r  rj   rk   rl   rm   r?   s                         rI   r&  z_ChatBase.send_locationh  s      F \\^^11G!5 3-%%'+%#! 3#9(C+/#9/- 2 
 
 
 
 
 
 
 
 	
rJ   	animationr   widthheightc                   K   |                                                      | j        |||||||||||||||||	||
||||||           d{V S )a:  Shortcut for::

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

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

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

        )rp   r'  r   r(  r)  r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   r   r   r   r   r   r   r   N)rq   send_animationr8   )rG   r'  r   r(  r)  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                             rI   r+  z_ChatBase.send_animation  s      N \\^^22G!!5 3-%%'+%!(C-+/##9/%=5 3 
 
 
 
 
 
 
 
 	
rJ   stickerr/   c
                   K   |                                                      | j        |||
|||||||||||||	           d{V S )a6  Shortcut for::

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

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

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

        )rp   r,  r   r   r   r   rj   rk   rl   rm   r?   r   r   r   r  r   r   N)rq   send_stickerr8   )rG   r,  r   r   r   r   r  r   r   r   r   r   rj   rk   rl   rm   r?   s                    rI   r.  z_ChatBase.send_sticker  s      < \\^^00G!5 3-%%'+%!(C+/#9/# 1 
 
 
 
 
 
 
 
 	
rJ   )r   r   venuerj   rk   rl   rm   r?   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typer/  r1   c                   K   |                                                      | j        |||||||||||||||||	|
|||||           d{V S )a2  Shortcut for::

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

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

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

        )rp   r  r   r;   r0  r1  r   r   r   r   rj   rk   rl   rm   r/  r2  r?   r3  r4  r   r   r   r   r   N)rq   
send_venuer8   )rG   r  r   r;   r0  r1  r   r   r2  r3  r4  r   r   r   r   r   r   r   r/  rj   rk   rl   rm   r?   s                           rI   r6  z_ChatBase.send_venue  s      J \\^^..G'!5 3-%%'+%+!+/(C+/#9/1 / 
 
 
 
 
 
 
 
 	
rJ   videor2   supports_streamingc                   K   |                                                      | j        |||||||||||||||	||||
|||||||           d{V S )a2  Shortcut for::

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

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

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

        )rp   r7  r   r   r   r   r   r   rj   rk   rl   rm   r(  r)  r   r8  r   r?   r   r   r   r   r   r   r   r   r   N)rq   
send_videor8   )rG   r7  r   r   r   r   r(  r)  r   r8  r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                              rI   r:  z_ChatBase.send_videoZ  s      P \\^^..G!5 3-%%'+%!1!(C-+/##9/%=7 / 
 
 
 
 
 
 
 
 	
rJ   
video_noter3   lengthc                   K   |                                                      | j        ||||||	||||||||||||
|           d{V S )a<  Shortcut for::

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

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

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

        )rp   r;  r   r<  r   r   r   r   rj   rk   rl   rm   r   r?   r   r   r   r   r   r   N)rq   send_video_noter8   )rG   r;  r   r<  r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                       rI   r>  z_ChatBase.send_video_note  s      B \\^^33G!!5 3-%%'+%!(C+/#9/) 4 
 
 
 
 
 
 
 
 	
rJ   voicer4   c                   K   |                                                      | j        ||||||
||||||||||||	||           d{V S )a2  Shortcut for::

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

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

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

        )rp   r?  r   r   r   r   r   r   rj   rk   rl   rm   r   r?   r   r   r   r   r   r   r   N)rq   
send_voicer8   )rG   r?  r   r   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                        rI   rA  z_ChatBase.send_voice  s      D \\^^..G!5 3-%%'+%!!(C-+/#9/+ / 
 
 
 
 
 
 
 
 	
rJ   questionoptionsr&   allows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesquestion_parse_modequestion_entitiesc                  K    |                                  j        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{V S ) a0  Shortcut for::

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

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

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

        rp   rB  rC  r   r<   rD  rE  rF  r   r   r   r   rj   rk   rl   rm   r   rG  rH  rI  rJ  r?   r   rK  r   r   r   rL  rM  Nr  )rq   	send_pollr8   )rG   rB  rC  r   r<   rD  rE  rF  r   r   rG  rH  rI  rJ  rK  r   r   r   r   rL  rM  r   r   r   rj   rk   rl   rm   r?   s                                rI   rO  z_ChatBase.send_poll  s     T .T\\^^- 
 
 
GG
X
 G
 &	

 
 %<$;
 0/
  i
 "6!5
 !4 3
 .-
 &
 &
 (-
 ,O
  &!
" 0/#
$ $%
& $:#9'
( $)
* "z+
, "z-
. )D(C/
0 "6!51
2 ,O3
4 0/5
6 $:#97
8 !4 39
: 0/;
 
 
 
 
 
 
 	
rJ   from_chat_idr,   c                   K   |                                                      | j        ||||||||
|||||||||	|           d{V S )a  Shortcut for::

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

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

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

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

        )rp   rP  r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   Nrq   copy_messager8   )rG   rP  r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                      rI   	send_copyz_ChatBase.send_copy\  s      D \\^^00G%!!-!5 3-(C%%'+%!+/%=' 1 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        ||||||||
|||||||||	|           d{V S )a  Shortcut for::

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

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

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

        Returns:
            :class:`telegram.MessageId`: On success, returns the MessageId of the sent message.

        )rP  rp   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   r   r   r   NrR  )rG   rp   r   r   r   r   r   r   r   r   r   r   r   r   rj   rk   rl   rm   r?   s                      rI   rS  z_ChatBase.copy_message  s      D \\^^00!!-!5 3-(C%%'+%!+/%=' 1 
 
 
 
 
 
 
 
 	
rJ   remove_caption)r,   .c                   K   |                                                      | j        |||||||||	|
|           d{V S )a  Shortcut for::

             await bot.copy_messages(chat_id=update.effective_chat.id, *args, **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.

        )rp   rP  r   r   r   r   rV  rj   rk   rl   rm   r?   Nrq   copy_messagesr8   )rG   rP  r   r   r   r   rV  rj   rk   rl   rm   r?   s               rI   send_copiesz_ChatBase.send_copies  sq      < \\^^11G%#!5+/)%'+%! 2 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        |||||||||	|
|           d{V S )a  Shortcut for::

             await bot.copy_messages(from_chat_id=update.effective_chat.id, *args, **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.

        )rP  rp   r   r   r   r   rV  rj   rk   rl   rm   r?   NrX  )rG   rp   r   r   r   r   rV  rj   rk   rl   rm   r?   s               rI   rY  z_ChatBase.copy_messages  sq      < \\^^11#!5+/)%'+%! 2 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        |||||||	|
||           d{V S )a  Shortcut for::

             await bot.forward_message(chat_id=update.effective_chat.id, *args, **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.

        )rp   rP  r   r   rj   rk   rl   rm   r?   r   r   Nrq   forward_messager8   )rG   rP  r   r   r   r   rj   rk   rl   rm   r?   s              rI   forward_fromz_ChatBase.forward_from&	  sn      8 \\^^33G%!!5%'+%!+/ 4 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        |||||||	|
||           d{V S )a  Shortcut for::

             await bot.forward_message(from_chat_id=update.effective_chat.id, *args, **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.

        )rP  rp   r   r   rj   rk   rl   rm   r?   r   r   Nr]  )rG   rp   r   r   r   r   rj   rk   rl   rm   r?   s              rI   
forward_toz_ChatBase.forward_toP	  sn      : \\^^33!!5%'+%!+/ 4 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        |||||||||	|
           d{V S )a  Shortcut for::

             await bot.forward_messages(chat_id=update.effective_chat.id, *args, **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.

        )rp   rP  r   r   r   r   rj   rk   rl   rm   r?   Nrq   forward_messagesr8   )rG   rP  r   r   r   r   rj   rk   rl   rm   r?   s              rI   forward_messages_fromz_ChatBase.forward_messages_from{	  sn      : \\^^44G%#!5+/%'+%! 5 
 
 
 
 
 
 
 
 	
rJ   c                   K   |                                                      | j        |||||||||	|
           d{V S )a  Shortcut for::

             await bot.forward_messages(from_chat_id=update.effective_chat.id, *args, **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.

        )rP  rp   r   r   r   r   rj   rk   rl   rm   r?   Nrc  )rG   rp   r   r   r   r   rj   rk   rl   rm   r?   s              rI   forward_messages_toz_ChatBase.forward_messages_to	  sn      : \\^^44#!5+/%'+%! 5 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )aS  Shortcut for::

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

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

        .. versionadded:: 13.4

        Returns:
            :obj:`str`: New invite link on success.

        ro   N)rq   export_chat_invite_linkr8   rs   s         rI   export_invite_linkz_ChatBase.export_invite_link	  s_      , \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rJ   expire_datemember_limitcreates_join_requestr   c                ~   K   |                                                      | j        |||||||	||
  
         d{V S )a  Shortcut for::

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

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

        .. versionadded:: 13.4

        .. versionchanged:: 13.8
           Edited signature according to the changes of
           :meth:`telegram.Bot.create_chat_invite_link`.

        Returns:
            :class:`telegram.ChatInviteLink`

        )
rp   rk  rl  rj   rk   rl   rm   r?   rY   rm  N)rq   create_chat_invite_linkr8   )
rG   rk  rl  rY   rm  rj   rk   rl   rm   r?   s
             rI   create_invite_linkz_ChatBase.create_invite_link	  sk      < \\^^;;G#%%'+%!!5 < 
 
 
 
 
 
 
 
 	
rJ   invite_linkc                   K   |                                                      | j        |||||||	|
||           d{V S )a  Shortcut for::

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

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

        .. versionadded:: 13.4

        .. versionchanged:: 13.8
           Edited signature according to the changes of :meth:`telegram.Bot.edit_chat_invite_link`.

        Returns:
            :class:`telegram.ChatInviteLink`

        )rp   rq  rk  rl  rj   rk   rl   rm   r?   rY   rm  N)rq   edit_chat_invite_linkr8   )rG   rq  rk  rl  rY   rm  rj   rk   rl   rm   r?   s              rI   edit_invite_linkz_ChatBase.edit_invite_link
  sn      < \\^^99G##%%'+%!!5 : 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aL  Shortcut for::

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

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

        .. versionadded:: 13.4

        Returns:
            :class:`telegram.ChatInviteLink`

        )rp   rq  rj   rk   rl   rm   r?   N)rq   revoke_chat_invite_linkr8   )rG   rq  rj   rk   rl   rm   r?   s          rI   revoke_invite_linkz_ChatBase.revoke_invite_linkG
  sb      . \\^^;;G#%'+%! < 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aa  Shortcut for::

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

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

        .. versionadded:: 13.8

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

        r}   N)rq   approve_chat_join_requestr8   r   s          rI   approve_join_requestz_ChatBase.approve_join_requesth
  b      . \\^^==G%'+%! > 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aa  Shortcut for::

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

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

        .. versionadded:: 13.8

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

        r}   N)rq   decline_chat_join_requestr8   r   s          rI   decline_join_requestz_ChatBase.decline_join_request
  r{  rJ   menu_buttonc          	      x   K   |                                                      | j        ||||||           d{V S )a  Shortcut for::

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

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

        Caution:
            Can only work, if the chat is a private chat.

        .. seealso:: :meth:`get_menu_button`

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rp   r  rj   rk   rl   rm   r?   N)rq   set_chat_menu_buttonr8   )rG   r  rj   rk   rl   rm   r?   s          rI   set_menu_buttonz_ChatBase.set_menu_button
  sb      6 \\^^88G#%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   
icon_coloricon_custom_emoji_idc                |   K   |                                                      | j        ||||||||	  	         d{V S )a=  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :class:`telegram.ForumTopic`
        )	rp   rY   r  r  rj   rk   rl   rm   r?   N)rq   create_forum_topicr8   )	rG   rY   r  r  rj   rk   rl   rm   r?   s	            rI   r  z_ChatBase.create_forum_topic
  sh      0 \\^^66G!!5%'+%! 7 

 

 

 

 

 

 

 

 
	
rJ   c                |   K   |                                                      | j        ||||||||	  	         d{V S )aN  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )	rp   r   rY   r  rj   rk   rl   rm   r?   N)rq   edit_forum_topicr8   )	rG   r   rY   r  rj   rk   rl   rm   r?   s	            rI   r  z_ChatBase.edit_forum_topic
  sh      0 \\^^44G/!5%'+%! 5 

 

 

 

 

 

 

 

 
	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aP  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        rp   r   rj   rk   rl   rm   r?   N)rq   close_forum_topicr8   rG   r   rj   rk   rl   rm   r?   s          rI   r  z_ChatBase.close_forum_topic  sb      , \\^^55G/%'+%! 6 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aR  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        r  N)rq   reopen_forum_topicr8   r  s          rI   r  z_ChatBase.reopen_forum_topic7  b      , \\^^66G/%'+%! 7 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )aR  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        r  N)rq   delete_forum_topicr8   r  s          rI   r  z_ChatBase.delete_forum_topicW  r  rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )az  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        r  N)rq   unpin_all_forum_topic_messagesr8   r  s          rI   r  z(_ChatBase.unpin_all_forum_topic_messagesw  sc      . \\^^BBG/%'+%! C 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a  Shortcut for::

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

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

        .. versionadded:: 20.5

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        ro   N)rq   &unpin_all_general_forum_topic_messagesr8   rs   s         rI   r  z0_ChatBase.unpin_all_general_forum_topic_messages  s`      , \\^^JJG%'+%! K 
 
 
 
 
 
 
 
 	
rJ   c          	      x   K   |                                                      | j        ||||||           d{V S )a}  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )rp   rY   rj   rk   rl   rm   r?   N)rq   edit_general_forum_topicr8   )rG   rY   rj   rk   rl   rm   r?   s          rI   r  z"_ChatBase.edit_general_forum_topic  sb      0 \\^^<<G%'+%! = 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a`  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        ro   N)rq   close_general_forum_topicr8   rs   s         rI   r  z#_ChatBase.close_general_forum_topic  s_      * \\^^==G%'+%! > 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        ro   N)rq   reopen_general_forum_topicr8   rs   s         rI   r  z$_ChatBase.reopen_general_forum_topic  _      . \\^^>>G%'+%! ? 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a^  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        ro   N)rq   hide_general_forum_topicr8   rs   s         rI   r  z"_ChatBase.hide_general_forum_topic  s_      * \\^^<<G%'+%! = 
 
 
 
 
 
 
 
 	
rJ   c                v   K   |                                                      | j        |||||           d{V S )a  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        ro   N)rq   unhide_general_forum_topicr8   rs   s         rI   r  z$_ChatBase.unhide_general_forum_topic5  r  rJ   c                v   K   |                                                      | j        |||||           d{V S )a  Shortcut for::

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

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

        Caution:
            Can only work, if the chat is a private chat.

        .. seealso:: :meth:`set_menu_button`

        .. versionadded:: 20.0

        Returns:
            :class:`telegram.MenuButton`: On success, the current menu button is returned.
        ro   N)rq   get_chat_menu_buttonr8   rs   s         rI   get_menu_buttonz_ChatBase.get_menu_buttonU  s_      4 \\^^88G%'+%! 9 
 
 
 
 
 
 
 
 	
rJ   r0   c          	      x   K   |                                                      | j        ||||||           d{V S )az  Shortcut for::

             await bot.get_user_chat_boosts(chat_id=update.effective_chat.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 in the chat.
        )rp   r{   r?   rj   rk   rl   rm   N)rq   get_user_chat_boostsr8   r   s          rI   r  z_ChatBase.get_user_chat_boostsx  sb      , \\^^88G!%'+% 9 
 
 
 
 
 
 
 
 	
rJ   reactionis_bigc                |   K   |                                                      | j        ||||||||	  	         d{V S )aU  Shortcut for::

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

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

        .. versionadded:: 20.8

        Returns:
            :obj:`bool` On success, :obj:`True` is returned.
        )	rp   r   r  r  rj   rk   rl   rm   r?   N)rq   set_message_reactionr8   )	rG   r   r  r  rj   rk   rl   rm   r?   s	            rI   r  z_ChatBase.set_message_reaction  sh      0 \\^^88G!%'+%! 9 

 

 

 

 

 

 

 

 
	
rJ   )NNNNN)N)NN)NNNNNNNNNNNNNNN)NNNN)s__name__
__module____qualname____doc__	__slots__intstrr   boolr   rB   r   rD   rK   r   __annotations__rL   rM   rN   rO   propertyrT   rR   rX   r   rg   r   r   r   floatrt   r	   rw   rz   rC   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   r   send_actionr   r   r   r  r  r  objectr  r&  r+  r.  r6  r:  r>  rA  r   rO  rT  rS  rZ  rY  r_  ra  re  rg  rj  rp  rt  rw  rz  r~  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  __classcell__)rH   s   @rI   r6   r6   E   sB         
 [I  $"&$(#'#' *.    }	
 3- SM C= 4. X&     6 #+2FE#J222 $,4GU3Z4446!*0E5:0004&/:Jc
:::9#,4GU3Z4446    X 8C=    X" hsm    X$L $LXc] $Lc $L $L $L $LLL L L L L L LBL L# L# L L L LF )5)5+7(4)-
 
 
 uo
  	

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

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

 "%
 uo
 X&
 

 
 
 
@ )5)5+7(4)-
 
 

 uo	

  
 "%
 uo
 X&
 

 
 
 
B +/59	 
 )5)5+7(4)- 
  
  
 
 "$ 
 U3=12	 
 uo 
   
 "% 
 uo 
 X& 
 
 
  
  
  
L )5)5+7(4)-
 
 

 uo	

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

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

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

  !
 "%!
 uo!
 X&!
 
!
 !
 !
 !
L *.

 )5)5+7(4)-
 
 

 !

 uo
  
 "%
 uo
 X&
 

 
 
 
F +/,0,0.2+//3+/.2'+*.15,0+/+/-1#D
& )5)5+7(4)-/D
 D
 D
D
 "$D
 $D>	D

 $D>D
 &d^D
 #4.D
 'tnD
 #4.D
 &d^D
 tnD
 "$D
 !)D
 $D>D
 #4.D
  #4.!D
" %TN#D
& uo'D
(  )D
* "%+D
, uo-D
. X&/D
0 
1D
 D
 D
 D
T 6:;?(
 )5)5+7(4)-(
 (
 (
(
 %(
 U3=12	(

 +34.(
 uo(
  (
 "%(
 uo(
 X&(
 
(
 (
 (
 (
Z <@"

 )5)5+7(4)-"
 "
 "
$"
 +34."

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

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

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

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

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

  !
 "%!
 uo!
 X&!
 
!
 !
 !
 !
L 0<

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

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

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

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

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

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

  
 "%
 uo
 X&
 

 
 
 
J 0<*6+/8<04+/5
 .26B(4)5+7(4)-!%$0@D+5
 5
 5
_`
5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 "%
 uo
 X&
 

 
 
 
B 7;&*"/3)
 )5)5+7(4)-)
 )
 )
eCM23)
 sm)
 sm	)

 'tn)
 uo)
  )
 "%)
 uo)
 X&)
 
)
 )
 )
 )
\ 7;&*"/3*
 )5)5+7(4)-*
 *
 *
3 001*
 eCM23*
 sm	*

 sm*
 'tn*
 uo*
  *
 "%*
 uo*
 X&*
 
*
 *
 *
 *
` )5)5+7(4)-
 
 
3 001
 uo	

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

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

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

  #
 "%#
 uo#
 X&#
 
#
 #
 #
 #
P %).2	"
 )5)5+7(4)-"
 "
 "
"
 SM"
 'sm	"
 uo"
  "
 "%"
 uo"
 X&"
 
"
 "
 "
 "
N #.2	"
 )5)5+7(4)-"
 "
 "
"
 sm"
 'sm	"
 uo"
  "
 "%"
 uo"
 X&"
 
"
 "
 "
 "
P )5)5+7(4)-
 
 

 uo	

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

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

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

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

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

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

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

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

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

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

 "%!
 uo!
 X&!
 
!
 !
 !
 !
N )5)5+7(4)-
 
 

 uo	

  
 "%
 uo
 X&
 

 
 
 
F \`!%	"
 )5)5+7(4)-"
 "
 "
"
 5%c0A*B!C\SV!VWX"
 	"
 uo"
  "
 "%"
 uo"
 X&"
 
"
 "
 "
 "
 "
 "
 "
 "
rJ   r6   c                       e Zd ZdZdZdS )ChataN
  This object represents a chat.

    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

        * Removed the deprecated methods ``kick_member`` and ``get_members_count``.
        * The following are now keyword-only arguments in Bot methods:
          ``location``, ``filename``, ``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.

    .. versionchanged:: 20.0
        Removed the attribute ``all_members_are_administrators``. As long as Telegram provides
        this field for backwards compatibility, it is available through
        :attr:`~telegram.TelegramObject.api_kwargs`.

    .. versionchanged:: 21.3
        As per Bot API 7.3, most of the arguments and attributes of this class have now moved to
        :class:`telegram.ChatFullInfo`.

    Args:
        id (:obj:`int`): Unique identifier for this chat.
        type (:obj:`str`): Type of chat, can be either :attr:`PRIVATE`, :attr:`GROUP`,
            :attr:`SUPERGROUP` or :attr:`CHANNEL`.
        title (:obj:`str`, optional): Title, for supergroups, channels and group chats.
        username (:obj:`str`, optional): Username, for private chats, supergroups and channels if
            available.
        first_name (:obj:`str`, optional): First name of the other party in a private chat.
        last_name (:obj:`str`, optional): Last name of the other party in a private chat.
        is_forum (:obj:`bool`, optional): :obj:`True`, if the supergroup chat is a forum
            (has topics_ enabled).

            .. versionadded:: 20.0

    Attributes:
        id (:obj:`int`): Unique identifier for this chat.
        type (:obj:`str`): Type of chat, can be either :attr:`PRIVATE`, :attr:`GROUP`,
            :attr:`SUPERGROUP` or :attr:`CHANNEL`.
        title (:obj:`str`): Optional. Title, for supergroups, channels and group chats.
        username (:obj:`str`): Optional. Username, for private chats, supergroups and channels if
            available.
        first_name (:obj:`str`): Optional. First name of the other party in a private chat.
        last_name (:obj:`str`): Optional. Last name of the other party in a private chat.
        is_forum (:obj:`bool`): Optional. :obj:`True`, if the supergroup chat is a forum
            (has topics_ enabled).

            .. versionadded:: 20.0

    .. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups
    r  N)r  r  r  r  r  r  rJ   rI   r  r    s         3 3j IIIrJ   r  N)Cr  r   htmlr   typingr   r   r   r   r	   r
   telegramr   telegram._chatpermissionsr   telegram._forumtopicr   telegram._menubuttonr   telegram._reactionr   telegram._telegramobjectr   telegram._utilsr   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   telegram.helpersr   r   ri   r   ra   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r6   r  r  rJ   rI   <module>r     s  ( F E             I I I I I I I I I I I I I I I I       5 5 5 5 5 5 + + + + + + + + + + + + + + + + + + 3 3 3 3 3 3             5 5 5 5 5 5 ] ] ] ] ] ] ] ] ] ] ] ] ] ] , , , , , , A A A A A A I I I I I I                                                        <u1
 u1
 u1
 u1
 u1
 u1
 u1
 u1
pc6 6 6 6 69 6 6 6 6 6rJ   