
    iR                       d Z ddlZddlmZ ddlmZ ddl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!m"Z" ddl#m$Z$ ddl#m%Z& ddl#m'Z( erJddl
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@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH ddlmIZI  G d de          ZJ G d deJ          ZKdS )z?This module contains an object that represents a Telegram Chat.    N)Sequence)escape)TYPE_CHECKINGFinal)	constants)ChatPermissions)
ForumTopic)
MenuButton)ReactionType)TelegramObject)enum)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInput
TimePeriod)get_full_nameget_link)escape_markdown)mention_html)mention_markdown) 	AnimationAudioChatInviteLink
ChatMemberContactDocumentGiftInlineKeyboardMarkupInputChecklistInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoInputPaidMediaInputPollOptionLabeledPriceLinkPreviewOptionsLocationMessageMessageEntity	MessageId
OwnedGifts	PhotoSizeReplyParametersStickerStorySuggestedPostParametersUserChatBoostsVenueVideo	VideoNoteVoice)ReplyMarkupc            N       J>    e Zd ZU dZdZ	 	 	 	 	 	 d>dddedededz  dedz  d	edz  d
edz  dedz  dedz  dedz  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dz  fd            Zededz  fd            Zededz  fd            Zd?dedz  defdZd?dedz  defdZd?dedz  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dz  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dz  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dz  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dz  dd&fd'Z!	 	 d@eeeeddd%ed(edz  d)ee"j#        z  dz  dee         dee         dee         d ee         dedz  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dz  defd,Z%eeeeddd-eez  dee         dee         dee         d ee         dedz  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dz  defd/Z'eeeeddd-eez  dee         dee         dee         d ee         dedz  defd0Z(	 d?eeeeddd%ed1edz  dee         dee         dee         d ee         dedz  defd2Z)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dAeeeeddd%ed3edz  d4edz  d5edz  d6edz  d7edz  d8edz  d9edz  d:edz  d;edz  d<edz  d=edz  d>edz  d?edz  d@edz  dAedz  dBedz  dee         dee         dee         d ee         dedz  def.dCZ*	 	 d@eeeeddd%edDe+d)ee"j#        z  dz  dEedz  dee         dee         dee         d ee         dedz  defdFZ,	 d?eeeedddDe+dEedz  dee         dee         dee         d ee         dedz  defdGZ-eeeeddd%edHedee         dee         dee         d ee         dedz  defdIZ.eeeedddJe/dee         dee         dee         d ee         dedz  defdKZ0eeeedddee         dee         dee         d ee         dedz  defdLZ1eeeedddedee         dee         dee         d ee         dedz  defdMZ2	 d?eeeedddNedz  dee         dee         dee         d ee         dedz  defdOZ3edfeeeedddPedQee         dRedz  dee         dee         dee         d ee         dedz  defdSZ4	 	 d@eeeedddPedz  dRedz  dee         dee         dee         d ee         dedz  defdTZ5eeeedddee         dee         dee         d ee         dedz  defdUZ6eeddededdddddfdedeeeeddVdWedXee         dQee         dYdZd[e7d\         dz  d]ee         d^edz  d_ed`         dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         djedz  dee         dee         dee         d ee         dedz  ddkf.dlZ8dedfeeeedddmedWed^edz  dXee         d[e7d\         dz  dee         dee         dee         d ee         dedz  defdnZ9eeeedddPedee         dee         dee         d ee         dedz  defdoZ:eeeedddpe7e         dee         dee         dee         d ee         dedz  defdqZ;eeddddddfdeeeeeddeddr
dse7dt         dQee         d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dhedz  diee         dee         dee         dee         d ee         dedz  duedz  dXee         dve7d\         dz  dedw         f(dxZ<	 	 d@eeeedddyed^edz  dRedz  dee         dee         dee         d ee         dedz  defdzZ=e=Z>	 dedededddddddddfdedeeeedd{dJd|duedz  dQee         dYdZdXee         dve7d\         dz  d]ee         d^edz  d}edz  dadbdRedz  dcedz  ddedz  d~edz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf2dZ?dddeddedddddddfdedeeeedddedz  d	edz  d
edz  dQee         dYdZdedz  d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dddee         dee         dee         d ee         dedz  ddkf.dZ@ddddedededdddddddfdedeeeedd{dddeAdz  dedz  dedz  duedz  dQee         dYdZdXee         dve7d\         dz  d]ee         d^edz  dddadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf6dZBdededdeddddddddfdedeeeedd{ddduedz  dQee         dYdZdXee         dedz  dve7d\         dz  d]ee         d^edz  dddadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf2dZCededdfdeeeeedddRedddQee         dYdd]ee         dadbdcedz  dhedz  diee         dee         dee         dee         d ee         dedz  ddkfdZDeddedddddddfdeeeeedddQee         dYdZdedz  d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dee         dee         dee         d ee         dedz  ddkf&dZEededddddfdeeeeedddedQee         dYdd]ee         d^edz  dadbdRedz  dcedz  ddedz  dhedz  diee         dee         dee         dee         d ee         dedz  ddkf"dZFdddddddddddeddddddeddddddfdeeeeedddedNededede7d         dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dQee         dYddeeGz  dz  dedz  dedz  dedz  de7e         dz  d]ee         d^edz  dadbdcedz  ddedz  deedz  dfdgdhedz  diee         dee         dee         dee         d ee         dedz  ddkfLdZHddedddddedddddddfdedeeeedddedz  dedz  dQee         dYdZdeAdz  dedz  dedz  dedz  d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dddee         dee         dee         d ee         dedz  ddkf2dZIddddeeddeddddddddddfdedeeeedd{dddeAdz  dedz  dedz  duedz  dXee         dQee         dYdZdve7d\         dz  d]ee         d^edz  d}edz  dddadbdRedz  dcedz  ddedz  d~edz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf:dZJededdddddddfdeeeeedddddQee         dYdZd]ee         d^edz  dedz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dee         dee         dee         d ee         dedz  ddkf(dZKdddddeddddedddddddfdedeeeedddedz  dedz  dedz  dedz  dedz  dQee         dYdZdedz  dedz  dedz  d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dddee         dee         dee         d ee         dedz  ddkf6dʄZLddedddeddeddddddddddddfdedeeeedd{dddeAdz  duedz  dQee         dYdZdedz  dedz  dXee         dedz  dve7d\         dz  d]ee         d^edz  d}edz  dddadbdRedz  dcedz  ddedz  d~edz  dddedz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf@dЄZMddededdddddddfdedeeeedd{dddeAdz  dedz  dQee         dYdZd]ee         d^edz  dddadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf.dԄZNddedededddddddfdedeeeedd{dddeAdz  duedz  dQee         dYdZdXee         dve7d\         dz  d]ee         d^edz  dadbdRedz  dcedz  ddedz  deedz  dfdgdhedz  diee         dedz  dee         dee         dee         d ee         dedz  ddkf0dׄZOdddddeddedddedddedddfdeeeeedddede7d         d;edz  dedz  dedz  dePdz  dedz  dQee         dYdZdedz  dee         deAdz  dee"j#        z  dz  de7d\         dz  d]ee         d^edz  dadbdRedz  dee         de7d\         dz  dcedz  ddedz  dhedz  diee         dee         dee         dee         d ee         dedz  ddkf<dZQdedededdddddddfdeeeeedddeez  dPeduedz  dXee         dve7d\         dz  dQee         dYdZd]ee         d^edz  dadbd~edz  ddedz  dedz  deedz  dfdgdcedz  dhedz  diee         dee         dee         dee         d ee         dedz  ddf0dZRdedededdddddddfdeeeeeddd-eez  dPeduedz  dXee         dve7d\         dz  dQee         dYdZd]ee         d^edz  dadbd~edz  ddedz  dedz  deedz  dfdgdcedz  dhedz  diee         dee         dee         dee         d ee         dedz  ddf0dZSeedddfeeeedddeez  dpe7e         dQee         d]ee         d^edz  dedz  deedz  dee         dee         dee         d ee         dedz  ded         fdZTeedddfeeeeddd-eez  dpe7e         dQee         d]ee         d^edz  dedz  deedz  dee         dee         dee         d ee         dedz  ded         fdZUeedddddfeeeedddeez  dPedQee         d]ee         d^edz  dedz  deedz  dfdgdcedz  dee         dee         dee         d ee         dedz  ddkfdZVeedddddfeeeeddd-eez  dPedQee         d]ee         d^edz  dedz  deedz  dfdgdcedz  dee         dee         dee         d ee         dedz  ddkfdZWeeddfeeeedddeez  dpe7e         dQee         d]ee         d^edz  deedz  dee         dee         dee         d ee         dedz  ded         fdZXeeddfeeeeddd-eez  dpe7e         dQee         d]ee         d^edz  deedz  dee         dee         dee         d ee         dedz  ded         fdZYeeeedddee         dee         dee         d ee         dedz  defdZZ	 	 	 	 dBeeeedddee"j#        z  dz  dedz  dedz  dedz  dee         dee         dee         d ee         dedz  ddfdZ[	 	 	 	 dBeeeedddddee"j#        z  dz  dedz  dedz  dedz  dee         dee         dee         d ee         dedz  ddfdZ\eeeedddddee         dee         dee         d ee         dedz  ddfdZ]	 d?eeeedddeAdededz  dee         dee         dee         d ee         dedz  ddfdZ^	 d?eeeedddddedz  dee         dee         dee         d ee         dedz  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dz  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dz  defdZa	 d?eeeedddebdz  dee         dee         dee         d ee         dedz  defdZc	 	 d@eeeedddededz  dedz  dee         dee         dee         d ee         dedz  dedfdZe	 	 d@eeeeddd^ededz  dedz  dee         dee         dee         d ee         dedz  defdZfeeeeddd^edee         dee         dee         d ee         dedz  defd	Zgeeeeddd^edee         dee         dee         d ee         dedz  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dz  defdZieeeeddd^edee         dee         dee         d ee         dedz  defdZjeeeedddee         dee         dee         d ee         dedz  defdZkeeeedddedee         dee         dee         d ee         dedz  defdZleeeedddee         dee         dee         d ee         dedz  defdZmeeeedddee         dee         dee         d ee         dedz  defdZneeeedddee         dee         dee         d ee         dedz  defdZoeeeedddee         dee         dee         d ee         dedz  defdZpeeeedddee         dee         dee         d ee         dedz  debfdZqeeeeddd%edee         dee         dee         d ee         dedz  ddfdZr	 	 d@eeeedddPede7esez           esz  ez  dz  dedz  dee         dee         dee         d ee         dedz  defdZtdeddeeddddddddfedeeeedddedse7d         duedz  dXee         dve7d\         dz  d~edz  dQee         d]ee         dadbdYdZdRedz  dedz  ddedz  deedz  dfdgd^edz  diee         dhedz  dee         dee         dee         d ee         dedz  ddkf0dZudeddfeeeedddddWedz  dee         d e7d\         dz  d!edz  dee         dee         dee         d ee         dedz  defd"Zv	 d?eeeedddRed#ededz  dee         dee         dee         d ee         dedz  defd$Zw	 d?eeeeddd%edz  dee         dee         dee         d ee         dedz  defd&Zxeeeedddee         dee         dee         d ee         dedz  defd'ZyeeeedddRedPedee         dee         dee         d ee         dedz  defd(Zz	 d?eeeedddPed)ee"j#        z  dz  dee         dee         dee         d ee         dedz  defd*Z{	 d?eeeedddPed+edz  dee         dee         dee         d ee         dedz  defd,Z|defeeeedddRed-ed.eAd/edz  d]ee         dee         dee         dee         d ee         dedz  dd0fd1Z}	 	 	 	 	 	 	 	 	 	 dCeeeeddd2edz  d3edz  d4edz  d5edz  d6edz  d7edz  d8edz  d9edz  d:edz  d;edz  dee         dee         dee         d ee         dedz  dd<f d=Z~ xZS (D  	_ChatBasezjBase class for :class:`telegram.Chat` and :class:`telegram.ChatFullInfo`.

    .. versionadded:: 21.3
    )
first_nameidis_direct_messagesis_forum	last_nametitletypeusernameN
api_kwargsr=   rB   rA   rC   r<   r@   r?   r>   rE   c	                :   t                                          |	           || _        t          j        t
          j        ||          | _        || _        || _	        || _
        || _        || _        || _        | j        f| _        |                                  d S )NrD   )super__init__r=   r   
get_memberr   ChatTyperB   rA   rC   r<   r@   r?   r>   	_id_attrs_freeze)selfr=   rB   rA   rC   r<   r@   r?   r>   rE   	__class__s             N/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/telegram/_chat.pyrH   z_ChatBase.__init__f   s     	J///);T4HH	!&
$,&0%.%-/A'    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)rA   	full_namerM   s    rO   effective_namez_ChatBase.effective_name   s)     :!:>%>!trP   c                      t          |           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
        )r   rY   s    rO   rX   z_ChatBase.full_name   s     T"""rP   c                      t          |           S )z}:obj:`str`: Convenience property. If the chat has a :attr:`~Chat.username`, returns a
        t.me link of the chat.
        )r   rY   s    rO   linkz_ChatBase.link   s    
 ~~rP   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)	rB   rR   helpers_mention_markdownr=   rX   	TypeErrorrC   r]   rA   rM   r^   s     rO   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KrP   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`   ra   rb   rc   rd   re   )
rB   rR   rf   r=   rX   rg   rC   r   r]   rA   rh   s     rO   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KrP   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>rd   re   )
rB   rR   helpers_mention_htmlr=   rX   rg   rC   r]   r   rA   rh   s     rO   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KrP   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutrE   ro   rp   rq   rr   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_idro   rp   rq   rr   rE   N)get_bot
leave_chatr=   rM   ro   rp   rq   rr   rE   s         rO   leavez_ChatBase.leave  s_      & \\^^..G%'+%! / 
 
 
 
 
 
 
 
 	
rP   )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.

        rt   N)rv   get_chat_administratorsr=   rx   s         rO   get_administratorsz_ChatBase.get_administrators7  s_      . \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rP   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`
        rt   N)rv   get_chat_member_countr=   rx   s         rO   get_member_countz_ChatBase.get_member_countW  s_      & \\^^99G%'+%! : 
 
 
 
 
 
 
 
 	
rP   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`

        ru   r   ro   rp   rq   rr   rE   N)rv   get_chat_memberr=   rM   r   ro   rp   rq   rr   rE   s          rO   rI   z_ChatBase.get_members  sb      ( \\^^33G%'+%! 4 
 
 
 
 
 
 
 
 	
rP   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.
        )	ru   r   ro   rp   rq   rr   r   rE   r   N)rv   ban_chat_memberr=   )	rM   r   r   r   ro   rp   rq   rr   rE   s	            rO   
ban_memberz_ChatBase.ban_member  sh      , \\^^33G%'+%!!+ 4 

 

 

 

 

 

 

 

 
	
rP   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.

        ru   r   ro   rp   rq   rr   rE   Nrv   ban_chat_sender_chatr=   rM   r   ro   rp   rq   rr   rE   s          rO   ban_sender_chatz_ChatBase.ban_sender_chat  sb      . \\^^88G)%'+%! 9 
 
 
 
 
 
 
 
 	
rP   ru   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   rM   ru   ro   rp   rq   rr   rE   s          rO   ban_chatz_ChatBase.ban_chat  sb      2 \\^^887%'+%! 9 
 
 
 
 
 
 
 
 	
rP   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rv   unban_chat_sender_chatr=   r   s          rO   unban_sender_chatz_ChatBase.unban_sender_chat  sb      . \\^^::G)%'+%! ; 
 
 
 
 
 
 
 
 	
rP   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          rO   
unban_chatz_ChatBase.unban_chat  sb      2 \\^^::7%'+%! ; 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r   ro   rp   rq   rr   rE   r   N)rv   unban_chat_memberr=   )rM   r   r   ro   rp   rq   rr   rE   s           rO   unban_memberz_ChatBase.unban_member;  se      * \\^^55G%'+%!) 6 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   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_storiescan_manage_direct_messagesc                   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.

        )ru   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r   r   N)rv   promote_chat_memberr=   )rM   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                          rO   promote_memberz_ChatBase.promote_member[  s      \ \\^^77G+// 3-!5- 3%'+%!%+#9/--1'A/ 8 
 
 
 
 
 
 
 
 	
rP   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.

        )
ru   r   r   r   r   ro   rp   rq   rr   rE   N)rv   restrict_chat_memberr=   )
rM   r   r   r   r   ro   rp   rq   rr   rE   s
             rO   restrict_memberz_ChatBase.restrict_member  sk      : \\^^88G#!-M%'+%! 9 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r   r   ro   rp   rq   rr   rE   N)rv   set_chat_permissionsr=   )rM   r   r   ro   rp   rq   rr   rE   s           rO   set_permissionsz_ChatBase.set_permissions  se      2 \\^^88G#-M%'+%! 9 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   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.

        )ru   r   r   ro   rp   rq   rr   rE   N)rv   #set_chat_administrator_custom_titler=   )rM   r   r   ro   rp   rq   rr   rE   s           rO   set_administrator_custom_titlez(_ChatBase.set_administrator_custom_title  sf      0 \\^^GGG%%'+%! H 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   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.

        )ru   r   ro   rp   rq   rr   rE   N)rv   set_chat_photor=   )rM   r   ro   rp   rq   rr   rE   s          rO   	set_photoz_ChatBase.set_photo  b      2 \\^^22G%'+%! 3 
 
 
 
 
 
 
 
 	
rP   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.

        rt   N)rv   delete_chat_photor=   rx   s         rO   delete_photoz_ChatBase.delete_photo7  s_      0 \\^^55G%'+%! 6 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   rA   ro   rp   rq   rr   rE   N)rv   set_chat_titler=   )rM   rA   ro   rp   rq   rr   rE   s          rO   	set_titlez_ChatBase.set_titleX  r   rP   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.

        )ru   r   ro   rp   rq   rr   rE   N)rv   set_chat_descriptionr=   )rM   r   ro   rp   rq   rr   rE   s          rO   set_descriptionz_ChatBase.set_description{  sb      2 \\^^88G#%'+%! 9 
 
 
 
 
 
 
 
 	
rP   
message_iddisable_notificationbusiness_connection_idc                |   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.

        )	ru   r   r   ro   rp   rq   rr   rE   r   N)rv   pin_chat_messager=   )	rM   r   r   r   ro   rp   rq   rr   rE   s	            rO   pin_messagez_ChatBase.pin_message  sh      . \\^^44G!!5%'+%!#9 5 

 

 

 

 

 

 

 

 
	
rP   c          
      z   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.

        )ru   ro   rp   rq   rr   rE   r   r   N)rv   unpin_chat_messager=   )rM   r   r   ro   rp   rq   rr   rE   s           rO   unpin_messagez_ChatBase.unpin_message  se      , \\^^66G%'+%!!#9 7 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   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.

        rt   N)rv   unpin_all_chat_messagesr=   rx   s         rO   unpin_all_messagesz_ChatBase.unpin_all_messages  s_      ( \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rP   )reply_to_message_idallow_sending_without_replydisable_web_page_previewro   rp   rq   rr   rE   text
parse_modereply_markupzReplyMarkup | Noneentitiesr,   protect_contentmessage_thread_idlink_preview_optionsr)   reply_parameterszReplyParameters | Nonemessage_effect_idallow_paid_broadcastdirect_messages_topic_idsuggested_post_parameterszSuggestedPostParameters | Noner   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.

        )ru   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   N)rv   send_messager=   )rM   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                          rO   r   z_ChatBase.send_message  s      H \\^^00G!%=!5 3!5-%(C+/%'+%!#9/!5%=&?/ 1 
 
 
 
 
 
 
 
 	
rP   draft_idc                   K   |                                                      | j        |||||||||	|
           d{V S )a#  Shortcut for::

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

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

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

        )ru   r   r   r   r   r   ro   rp   rq   rr   rE   N)rv   send_message_draftr=   )rM   r   r   r   r   r   ro   rp   rq   rr   rE   s              rO   r   z_ChatBase.send_message_draft=  sn      0 \\^^66G/!%'+%! 7 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r   ro   rp   rq   rr   rE   N)rv   delete_messager=   )rM   r   ro   rp   rq   rr   rE   s          rO   r   z_ChatBase.delete_messagec  sb      , \\^^22G!%'+%! 3 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r   ro   rp   rq   rr   rE   N)rv   delete_messagesr=   )rM   r   ro   rp   rq   rr   rE   s          rO   r   z_ChatBase.delete_messages  sb      , \\^^33G#%'+%! 4 
 
 
 
 
 
 
 
 	
rP   )
r   r   ro   rp   rq   rr   rE   captionr   caption_entitiesmediazHInputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideor   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.

        )ru   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r   r   r   r   r   N)rv   send_media_groupr=   )rM   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   s                       rO   r   z_ChatBase.send_media_group  s      H \\^^44G!5 3%'+%!(C+/!--#9/!5%=) 5 
 
 
 
 
 
 
 
 	
rP   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.

        )	ru   r   r   ro   rp   rq   rr   rE   r   N)rv   send_chat_actionr=   )	rM   r   r   r   ro   rp   rq   rr   rE   s	            rO   r   z_ChatBase.send_chat_action  sh      , \\^^44G/%'+%!#9 5 

 

 

 

 

 

 

 

 
	
rP   )r   r   filenamero   rp   rq   rr   rE   zFileInput | PhotoSize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.

        )ru   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r   N)rv   
send_photor=   )rM   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                            rO   r   z_ChatBase.send_photo  s      L \\^^..G!5 3-%!(C-+/%'+%!##9/!5%=%=&?3 / 
 
 
 
 
 
 
 
 	
rP   )r   r   contactro   rp   rq   rr   rE   phone_numbervcardr   zContact | Nonec                   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.

        )ru   r   r<   r@   r   r   r   r   ro   rp   rq   rr   r   r   rE   r   r   r   r   r   r   r   r   N)rv   send_contactr=   )rM   r   r<   r@   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                          rO   r  z_ChatBase.send_contactE  s      H \\^^00G%!!5 3-%%'+%!(C+/#9/!5%=&?/ 1 
 
 
 
 
 
 
 
 	
rP   audiozFileInput | Audioduration	performer	thumbnailzFileInput | Nonec                   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.

        )ru   r  r  r  rA   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r  r   r   r   r   r   N)rv   
send_audior=   )rM   r  r  r  rA   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                              rO   r  z_ChatBase.send_audio  s      P \\^^..G!5 3-%!(C-+/%'+%!#9/!5%=&?7 / 
 
 
 
 
 
 
 
 	
rP   documentzFileInput | Document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.

        )ru   r	  r   r   r   r   r   r   ro   rp   rq   rr   r   r  rE   r
  r   r   r   r   r   r   r   r   r   N)rv   send_documentr=   )rM   r	  r   r   r   r   r
  r   r   r   r  r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                            rO   r  z_ChatBase.send_document  s      L \\^^11G!5 3-%%'+%!!+I(C-+/#9/!5%=&?3 2 
 
 
 
 
 
 
 
 	
rP   )r   r   ro   rp   rq   rr   rE   	checklistr!   zInlineKeyboardMarkup | Nonec                   K   |                                                      | j        |||||||||	|
||||           d{V S )ab  Shortcut for::

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

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

        .. versionadded:: 22.3

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

        )ru   r   r  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   N)rv   send_checklistr=   )rM   r   r  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                  rO   r  z_ChatBase.send_checklist  sz      < \\^^22G#9!5+/-% 3(C%'+%! 3 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r   r   r   r   ro   rp   rq   rr   r  rE   r   r   r   r   r   r   r   r   N)rv   	send_dicer=   )rM   r   r   r  r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                      rO   r  z_ChatBase.send_dice;  s      @ \\^^--G!5 3-%%'+%!(C+/#9/!5%=&?' . 
 
 
 
 
 
 
 
 	
rP   game_short_namec
                   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.

        )ru   r  r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   N)rv   	send_gamer=   )rM   r  r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                    rO   r  z_ChatBase.send_gameq  s      < \\^^--G+!5 3-%%'+%!(C+/#9/!5# . 
 
 
 
 
 
 
 
 	
rP   payloadcurrencypricesr(   provider_tokenstart_parameter	photo_url
photo_sizephoto_widthphoto_height	need_nameneed_phone_number
need_emailneed_shipping_addressis_flexibleprovider_datasend_phone_number_to_providersend_email_to_providermax_tip_amountsuggested_tip_amountsc                :  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$|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.

        ru   rA   r   r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r   r   r   r$  r%  r&  ro   rp   rq   rr   rE   r   r'  r(  r   r   r   r   r   r   r   N )rv   send_invoicer=   )&rM   rA   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   r   r   ro   rp   rq   rr   rE   s&                                         rO   r+  z_ChatBase.send_invoice  s0     z 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'
H "6!5I'
J &>%=K'
L '@&?M'
 '
 '
 '
 '
 '
 '
 '	
rP   )r   r   locationro   rp   rq   rr   rE   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr,  zLocation | Nonec                   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.

        )ru   r-  r.  r   r   r   r   ro   rp   rq   rr   r,  r/  rE   r0  r1  r2  r   r   r   r   r   r   r   r   N)rv   send_locationr=   )rM   r-  r.  r   r   r/  r0  r1  r2  r   r   r   r   r   r   r   r   r   r   r,  ro   rp   rq   rr   rE   s                            rO   r4  z_ChatBase.send_location	  s      L \\^^11G!5 3-%%'+%#! 3#9(C+/#9/!5%=&?3 2 
 
 
 
 
 
 
 
 	
rP   	animationzFileInput | Animationwidthheightc                  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 ) 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.

        ru   r5  r  r6  r7  r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r  r   r   r   r   r   r   Nr*  )rv   send_animationr=   )rM   r5  r  r6  r7  r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                                rO   r9  z_ChatBase.send_animationK  s     T 3T\\^^2 
 
 
GG
i
 X
 %	

 6
 G
 "z
 "6!5
 !4 3
 .-
 &
 &
 (-
 ,O
 &
  "z!
" )D(C#
$ .-%
& X'
( ,O)
* 0/+
, $-
.  i/
0 $:#91
2 0/3
4 "6!55
6 &>%=7
8 &>%=9
: '@&?;
 
 
 
 
 
 
 	
rP   stickerzFileInput | Stickerc                   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.

        )ru   r:  r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r  r   r   r   r   r   N)rv   send_stickerr=   )rM   r:  r   r   r   r   r  r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                       rO   r<  z_ChatBase.send_sticker  s      B \\^^00G!5 3-%%'+%!(C+/#9/!5%=&?) 1 
 
 
 
 
 
 
 
 	
rP   )r   r   venuero   rp   rq   rr   rE   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typer=  zVenue | Nonec                   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.

        )ru   r-  r.  rA   r>  r?  r   r   r   r   ro   rp   rq   rr   r=  r@  rE   rA  rB  r   r   r   r   r   r   r   r   N)rv   
send_venuer=   )rM   r-  r.  rA   r>  r?  r   r   r@  rA  rB  r   r   r   r   r   r   r   r   r   r   r=  ro   rp   rq   rr   rE   s                              rO   rD  z_ChatBase.send_venue  s      P \\^^..G'!5 3-%%'+%+!+/(C+/#9/!5%=&?7 / 
 
 
 
 
 
 
 
 	
rP   videozFileInput | Videosupports_streamingcoverstart_timestampc                  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!{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.

        ru   rE  r  r   r   r   r   r   ro   rp   rq   rr   r6  r7  r   rF  r  rG  rH  rE   r   r   r   r   r   r   r   r   r   r   r   r   Nr*  )rv   
send_videor=   ) rM   rE  r  r   r   r   r6  r7  r   rF  r   r   r   r   r  r   r   r   r   r   rG  rH  r   r   r   r   r   ro   rp   rq   rr   rE   s                                    rO   rJ  z_ChatBase.send_video  s     Z /T\\^^. !
 !
 !
GG!
%!
 X!
 G	!

 "6!5!
 !4 3!
 .-!
 &!
 &!
 (-!
 ,O!
 &!
 %!
 6!
 "z!
   21!!
"  i#!
$ %%!
& ,O'!
( "z)!
* )D(C+!
, .--!
. X/!
0 ,O1!
2 0/3!
4 $5!
6 $:#97!
8 0/9!
: "6!5;!
< &>%==!
> &>%=?!
@ '@&?A!
 !
 !
 !
 !
 !
 !
 !	
rP   
video_notezFileInput | VideoNote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.

        )ru   rK  r  rL  r   r   r   r   ro   rp   rq   rr   r  rE   r   r   r   r   r   r   r   r   r   N)rv   send_video_noter=   )rM   rK  r  rL  r   r   r   r   r  r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                          rO   rN  z_ChatBase.send_video_notec  s      H \\^^33G!!5 3-%%'+%!(C+/#9/!5%=&?/ 4 
 
 
 
 
 
 
 
 	
rP   voicezFileInput | Voicec                   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.

        )ru   rO  r  r   r   r   r   r   ro   rp   rq   rr   r   rE   r   r   r   r   r   r   r   r   r   r   N)rv   
send_voicer=   )rM   rO  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                           rO   rQ  z_ChatBase.send_voice  s      J \\^^..G!5 3-%%'+%!!(C-+/#9/!5%=&?1 / 
 
 
 
 
 
 
 
 	
rP   questionoptionszstr | InputPollOption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| 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.

        ru   rR  rS  r   rB   rT  rU  rV  r   r   r   r   ro   rp   rq   rr   r   r   rW  rX  rY  rZ  rE   r   r[  r   r   r   r\  r]  Nr*  )rv   	send_pollr=   )rM   rR  rS  r   rB   rT  rU  rV  r   r   rW  rX  rY  rZ  r[  r   r   r   r   r\  r]  r   r   r   r   ro   rp   rq   rr   rE   s                                 rO   r_  z_ChatBase.send_poll  s     V .T\\^^- 
 
 
GG
X
 G
 &	

 
 %<$;
 0/
  i
 "6!5
 !4 3
 .-
 &
 &
 (-
 ,O
  &!
" 0/#
$ "6!5%
& $'
( $:#9)
* $+
, "z-
. "z/
0 )D(C1
2 "6!53
4 ,O5
6 0/7
8 $:#99
: !4 3;
< 0/=
 
 
 
 
 
 
 	
rP   from_chat_idvideo_start_timestampr-   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.

        )ru   r`  r   r   ra  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r   Nrv   copy_messager=   )rM   r`  r   r   r   r   r   r   r   r   r   r   r   ra  r   r   r   r   r   ro   rp   rq   rr   rE   s                           rO   	send_copyz_ChatBase.send_copy-	  s      N \\^^00G%!"7!-!5 3-(C%%'+%!+/%=!5%=&?/1 1 
 
 
 
 
 
 
 
 	
rP   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.

        )r`  ru   r   r   ra  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   r   Nrc  )rM   ru   r   r   r   r   r   r   r   r   r   r   r   ra  r   r   r   r   r   ro   rp   rq   rr   rE   s                           rO   rd  z_ChatBase.copy_messageo	  s      N \\^^00!"7!-!5 3-(C%%'+%!+/%=!5%=&?/1 1 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r`  r   r   r   r   rg  ro   rp   rq   rr   rE   r   Nrv   copy_messagesr=   )rM   r`  r   r   r   r   rg  r   ro   rp   rq   rr   rE   s                rO   send_copiesz_ChatBase.send_copies	  st      > \\^^11G%#!5+/)%'+%!%= 2 
 
 
 
 
 
 
 
 	
rP   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.

        )r`  ru   r   r   r   r   rg  ro   rp   rq   rr   rE   r   Nri  )rM   ru   r   r   r   r   rg  r   ro   rp   rq   rr   rE   s                rO   rj  z_ChatBase.copy_messages	  st      > \\^^11#!5+/)%'+%!%= 2 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r`  r   ra  r   ro   rp   rq   rr   rE   r   r   r   r   r   Nrv   forward_messager=   )rM   r`  r   r   r   r   ra  r   r   r   ro   rp   rq   rr   rE   s                  rO   forward_fromz_ChatBase.forward_from
  s{      @ \\^^33G%!"7!5%'+%!+/%=&?/ 4 
 
 
 
 
 
 
 
 	
rP   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.

        )r`  ru   r   ra  r   ro   rp   rq   rr   rE   r   r   r   r   r   Nrn  )rM   ru   r   r   r   r   ra  r   r   r   ro   rp   rq   rr   rE   s                  rO   
forward_toz_ChatBase.forward_toA
  s{      B \\^^33!"7!5%'+%!+/%=&?/ 4 
 
 
 
 
 
 
 
 	
rP   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.

        )ru   r`  r   r   r   r   ro   rp   rq   rr   rE   r   Nrv   forward_messagesr=   )rM   r`  r   r   r   r   r   ro   rp   rq   rr   rE   s               rO   forward_messages_fromz_ChatBase.forward_messages_fromt
  sq      < \\^^44G%#!5+/%'+%!%= 5 
 
 
 
 
 
 
 
 	
rP   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.

        )r`  ru   r   r   r   r   ro   rp   rq   rr   rE   r   Nrt  )rM   ru   r   r   r   r   r   ro   rp   rq   rr   rE   s               rO   forward_messages_toz_ChatBase.forward_messages_to
  sq      < \\^^44#!5+/%'+%!%= 5 
 
 
 
 
 
 
 
 	
rP   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.

        rt   N)rv   export_chat_invite_linkr=   rx   s         rO   export_invite_linkz_ChatBase.export_invite_link
  s_      , \\^^;;G%'+%! < 
 
 
 
 
 
 
 
 	
rP   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`

        )
ru   r|  r}  ro   rp   rq   rr   rE   r^   r~  N)rv   create_chat_invite_linkr=   )
rM   r|  r}  r^   r~  ro   rp   rq   rr   rE   s
             rO   create_invite_linkz_ChatBase.create_invite_link
  sk      < \\^^;;G#%%'+%!!5 < 
 
 
 
 
 
 
 
 	
rP   invite_linkzstr | ChatInviteLinkc                   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`

        )ru   r  r|  r}  ro   rp   rq   rr   rE   r^   r~  N)rv   edit_chat_invite_linkr=   )rM   r  r|  r}  r^   r~  ro   rp   rq   rr   rE   s              rO   edit_invite_linkz_ChatBase.edit_invite_link  sn      < \\^^99G##%%'+%!!5 : 
 
 
 
 
 
 
 
 	
rP   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`

        )ru   r  ro   rp   rq   rr   rE   N)rv   revoke_chat_invite_linkr=   )rM   r  ro   rp   rq   rr   rE   s          rO   revoke_invite_linkz_ChatBase.revoke_invite_linkD  sb      . \\^^;;G#%'+%! < 
 
 
 
 
 
 
 
 	
rP   subscription_periodsubscription_pricec                |   K   |                                                      | j        ||||||||	  	         d{V S )a  Shortcut for::

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

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

        .. versionadded:: 21.5

        Returns:
            :class:`telegram.ChatInviteLink`
        )	ru   r  r  r^   ro   rp   rq   rr   rE   N)rv   $create_chat_subscription_invite_linkr=   )	rM   r  r  r^   ro   rp   rq   rr   rE   s	            rO   create_subscription_invite_linkz)_ChatBase.create_subscription_invite_linke  si      4 \\^^HHG 31%'+%! I 

 

 

 

 

 

 

 

 
	
rP   c          
      z   K   |                                                      | j        |||||||           d{V S )a  Shortcut for::

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

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

        .. versionadded:: 21.5

        Returns:
            :class:`telegram.ChatInviteLink`

        )ru   r  ro   rp   rq   rr   rE   r^   N)rv   "edit_chat_subscription_invite_linkr=   )rM   r  r^   ro   rp   rq   rr   rE   s           rO   edit_subscription_invite_linkz'_ChatBase.edit_subscription_invite_link  sf      4 \\^^FFG#%'+%! G 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   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)rv   approve_chat_join_requestr=   r   s          rO   approve_join_requestz_ChatBase.approve_join_request  b      . \\^^==G%'+%! > 
 
 
 
 
 
 
 
 	
rP   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)rv   decline_chat_join_requestr=   r   s          rO   decline_join_requestz_ChatBase.decline_join_request  r  rP   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.
        )ru   r  ro   rp   rq   rr   rE   N)rv   set_chat_menu_buttonr=   )rM   r  ro   rp   rq   rr   rE   s          rO   set_menu_buttonz_ChatBase.set_menu_button  sb      6 \\^^88G#%'+%! 9 
 
 
 
 
 
 
 
 	
rP   
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`
        )	ru   r^   r  r  ro   rp   rq   rr   rE   N)rv   create_forum_topicr=   )	rM   r^   r  r  ro   rp   rq   rr   rE   s	            rO   r  z_ChatBase.create_forum_topic  sh      0 \\^^66G!!5%'+%! 7 

 

 

 

 

 

 

 

 
	
rP   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.
        )	ru   r   r^   r  ro   rp   rq   rr   rE   N)rv   edit_forum_topicr=   )	rM   r   r^   r  ro   rp   rq   rr   rE   s	            rO   r  z_ChatBase.edit_forum_topic;  sh      0 \\^^44G/!5%'+%! 5 

 

 

 

 

 

 

 

 
	
rP   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.
        ru   r   ro   rp   rq   rr   rE   N)rv   close_forum_topicr=   rM   r   ro   rp   rq   rr   rE   s          rO   r  z_ChatBase.close_forum_topic_  sb      , \\^^55G/%'+%! 6 
 
 
 
 
 
 
 
 	
rP   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)rv   reopen_forum_topicr=   r  s          rO   r  z_ChatBase.reopen_forum_topic  b      , \\^^66G/%'+%! 7 
 
 
 
 
 
 
 
 	
rP   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)rv   delete_forum_topicr=   r  s          rO   r  z_ChatBase.delete_forum_topic  r  rP   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)rv   unpin_all_forum_topic_messagesr=   r  s          rO   r  z(_ChatBase.unpin_all_forum_topic_messages  sc      . \\^^BBG/%'+%! C 
 
 
 
 
 
 
 
 	
rP   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.
        rt   N)rv   &unpin_all_general_forum_topic_messagesr=   rx   s         rO   r  z0_ChatBase.unpin_all_general_forum_topic_messages  s`      , \\^^JJG%'+%! K 
 
 
 
 
 
 
 
 	
rP   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.
        )ru   r^   ro   rp   rq   rr   rE   N)rv   edit_general_forum_topicr=   )rM   r^   ro   rp   rq   rr   rE   s          rO   r  z"_ChatBase.edit_general_forum_topic  sb      0 \\^^<<G%'+%! = 
 
 
 
 
 
 
 
 	
rP   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.
        rt   N)rv   close_general_forum_topicr=   rx   s         rO   r  z#_ChatBase.close_general_forum_topic!  s_      * \\^^==G%'+%! > 
 
 
 
 
 
 
 
 	
rP   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.
        rt   N)rv   reopen_general_forum_topicr=   rx   s         rO   r  z$_ChatBase.reopen_general_forum_topic?  _      . \\^^>>G%'+%! ? 
 
 
 
 
 
 
 
 	
rP   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.
        rt   N)rv   hide_general_forum_topicr=   rx   s         rO   r  z"_ChatBase.hide_general_forum_topic_  _      * \\^^<<G%'+%! = 
 
 
 
 
 
 
 
 	
rP   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.
        rt   N)rv   unhide_general_forum_topicr=   rx   s         rO   r  z$_ChatBase.unhide_general_forum_topic}  r  rP   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.
        rt   N)rv   get_chat_menu_buttonr=   rx   s         rO   get_menu_buttonz_ChatBase.get_menu_button  s_      4 \\^^88G%'+%! 9 
 
 
 
 
 
 
 
 	
rP   r4   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.
        )ru   r   rE   ro   rp   rq   rr   N)rv   get_user_chat_boostsr=   r   s          rO   r  z_ChatBase.get_user_chat_boosts  sb      , \\^^88G!%'+% 9 
 
 
 
 
 
 
 
 	
rP   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.
        )	ru   r   r  r  ro   rp   rq   rr   rE   N)rv   set_message_reactionr=   )	rM   r   r  r  ro   rp   rq   rr   rE   s	            rO   r  z_ChatBase.set_message_reaction  sh      0 \\^^88G!%'+%! 9 

 

 

 

 

 

 

 

 
	
rP   )r   r   ro   rp   rq   rr   rE   
star_countr&   c                   K   |                                                      | j        |||||||||	|
|||||||||||||           d{V S )ak  Shortcut for::

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

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

        .. versionadded:: 21.4

        Returns:
            :class:`telegram.Message`: On success, instance representing the message posted.
        )ru   r  r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r  r   r   r   r   N)rv   send_paid_mediar=   )rM   r  r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   ro   rp   rq   rr   rE   s                           rO   r  z_ChatBase.send_paid_media  s      N \\^^33G!!-%=!5+-%(C 3%'+%!#9!5%=&?/1 4 
 
 
 
 
 
 
 
 	
rP   gift_idz
str | Gifttext_parse_modetext_entitiespay_for_upgradec                   K    |                                  j        d|||||||||	|
d
| j        t          j        k    rdnd| j        i d{V S )aV  Shortcut for::

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

        or::

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

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

        Caution:
            Will only work if the chat is a private or channel chat, see :attr:`type`.

        .. versionadded:: 21.8

        .. versionchanged:: 21.11

            Added support for channel chats.

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )
r  r   r  r  r  ro   rp   rq   rr   rE   ru   r   Nr*  )rv   	send_giftrB   ChatrU   r=   )rM   r  r   r  r  r  ro   rp   rq   rr   rE   s              rO   r  z_ChatBase.send_giftF  s      H .T\\^^- 
+'+%'+%!
 
 !I55yy9dgN
 
 
 
 
 
 
 
 	
rP   owned_gift_idc                |   K   |                                                      | j        ||||||||	  	         d{V S )aK  Shortcut for::

             await bot.transfer_gift(new_owner_chat_id=update.effective_chat.id, *args, **kwargs )

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

        .. versionadded:: 22.1

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )	new_owner_chat_idr   r  r  ro   rp   rq   rr   rE   N)rv   transfer_giftr=   )	rM   r   r  r  ro   rp   rq   rr   rE   s	            rO   r  z_ChatBase.transfer_giftx  sh      . \\^^11"g#9'!%'+%! 2 

 

 

 

 

 

 

 

 
	
rP   custom_descriptionc          	      x   K   |                                                      | j        ||||||           d{V S )aE  Shortcut for::

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

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

        .. versionadded:: 21.10

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ru   r  ro   rp   rq   rr   rE   N)rv   verify_chatr=   )rM   r  ro   rp   rq   rr   rE   s          rO   verifyz_ChatBase.verify  sb      , \\^^//G1%'+%! 0 
 
 
 
 
 
 
 
 	
rP   c                v   K   |                                                      | j        |||||           d{V S )a_  Shortcut for::

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

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

        .. versionadded:: 21.10

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        rt   N)rv   remove_chat_verificationr=   rx   s         rO   remove_verificationz_ChatBase.remove_verification  r  rP   c          
      z   K   |                                                      | j        |||||||           d{V S )aX  Shortcut for::

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

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

        .. versionadded:: 22.1

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ru   r   r   ro   rp   rq   rr   rE   N)rv   read_business_messager=   )rM   r   r   ro   rp   rq   rr   rE   s           rO   r  z_ChatBase.read_business_message  se      . \\^^99G#9!%'+%! : 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   	send_datec          
      z   K   |                                                      | j        |||||||           d{V S )ac  
        Shortcut for::

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

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

        .. versionadded:: 22.4

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ru   r   r  ro   rp   rq   rr   rE   N)rv   approve_suggested_postr=   )rM   r   r  ro   rp   rq   rr   rE   s           rO   r  z _ChatBase.approve_suggested_post  se      0 \\^^::G!%'+%! ; 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   commentc          
      z   K   |                                                      | j        |||||||           d{V S )ac  
        Shortcut for::

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

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

        .. versionadded:: 22.4

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ru   r   r  ro   rp   rq   rr   rE   N)rv   decline_suggested_postr=   )rM   r   r  ro   rp   rq   rr   rE   s           rO   r  z _ChatBase.decline_suggested_post  se      0 \\^^::G!%'+%! ; 	
 	
 	
 	
 	
 	
 	
 	
 		
rP   from_story_idactive_periodpost_to_chat_pager2   c                   K   |                                                      || j        ||||||||	|
           d{V S )ax  Shortcut for::

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

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

        .. versionadded:: 22.6

        Returns:
            :class:`Story`: On success, :class:`Story` is returned.

        )r   r`  r  r  r  r   ro   rp   rq   rr   rE   N)rv   repost_storyr=   )rM   r   r  r  r  r   ro   rp   rq   rr   rE   s              rO   r  z_ChatBase.repost_storyA  sn      : \\^^00#9''/+%'+%! 1 
 
 
 
 
 
 
 
 	
rP   exclude_unsavedexclude_savedexclude_unlimitedexclude_limited_upgradableexclude_limited_non_upgradableexclude_from_blockchainexclude_uniquesort_by_priceoffsetlimitr.   c                   K   |                                                      | j        |||||||||	|
|||||           d{V S )aV  Shortcut for::

             await bot.get_chat_gifts(chat_id=update.effective_chat.id)

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

        .. versionadded:: 22.6

        Returns:
            :class:`telegram.OwnedGifts`: On success, returns the gifts owned by the chat.
        )ru   r  r  r  r  r  r  r  r  r  r  ro   rp   rq   rr   rE   N)rv   get_chat_giftsr=   )rM   r  r  r  r  r  r  r  r  r  r  ro   rp   rq   rr   rE   s                   rO   	get_giftsz_ChatBase.get_giftsl  s}      > \\^^22G+'/'A+I$;)'%'+%!! 3 
 
 
 
 
 
 
 
 	
rP   )NNNNNN)N)NN)NNNNNNNNNNNNNNNN)NNNN)
NNNNNNNNNN)__name__
__module____qualname____doc__	__slots__intstrboolr   rH   r   rJ   rQ   r   __annotations__rR   rS   rT   rU   propertyrZ   rX   r]   r   rl   r   r   r   floatry   tupler|   r   rI   dtmdatetimer   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  r  r  objectr+  r4  r9  r<  rD  rJ  rN  rQ  r   r_  re  rd  rk  rj  rp  rr  rv  rx  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  r  r  r  r  r  r  r  r  __classcell__)rN   s   @rO   r;   r;   U   sR         
	I !#!% $ $*. '+    Tz	
 * $J : + !4K tO     : #+2FE#J222 $,4GU3Z4446!*0E5:0004&/:Jc
:::9#,4GU3Z4446d
    X #3: # # # X# cDj    X$L $LS4Z $L3 $L $L $L $LLL Ld
 Lc L L L LBL Lt Ls L L L LF )5)5+7(4&*
 
 
 uo
  	

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

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

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

  
 "%
 uo
 tO
 

 
 
 
B (,04	 
 )5)5+7(4&* 
  
  
 
  
 #,&-	 
 uo 
   
 "% 
 uo 
 tO 
 
 
  
  
  
L )5)5+7(4&*
 
 

 uo	

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

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

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

  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
L '+

 )5)5+7(4&*
 
 

 t

 uo
  
 "%
 uo
 tO
 

 
 
 
F (,)-)-+/(,,0(,+/$('+.2)-(,(,*.26%F
( )5)5+7(4&*1F
 F
 F
F
 F
  $;	F

  $;F
 "D[F
 +F
 #TkF
 +F
 "D[F
 TkF
 F
 !%tF
  $;F
 +F
  +!F
" !4K#F
$ %)4K%F
( uo)F
*  +F
, "%-F
. uo/F
0 tO1F
2 
3F
 F
 F
 F
X 158<(
 )5)5+7(4&*(
 (
 (
(
 %(
 #,&-	(

 +/+(
 uo(
  (
 "%(
 uo(
 tO(
 
(
 (
 (
 (
Z 9="

 )5)5+7(4&*"
 "
 "
$"
 +/+"

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

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

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

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

  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
J #'!
 )5)5+7(4&*!
 !
 !
4Z!
 uo	!

  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
L 0<-1	!
 )5)5+7(4&*!
 !
 !
!
 'tn!
 !$d
	!
 uo!
  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
J "&-1

 )5)5+7(4&*
 
 
$J
 !$d


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

 "%
 uo
 tO
 

 
 
 
@ %1/;-159*6(,?K59-1(,,0/3FJ<
" +/6B04(4)5+7(4&*1<
 <
 <
<
 SM<
 'tn	<

 +<
 ?+d2<
 "$<
 :<
 '';<<
 3<
 !$d
<
 :<
 #Tk<
 #&*<
 $D<
" !4Z#<
$ &.d^%<
& #'+'<
( uo)<
*  +<
, "%-<
. uo/<
0 tO1<
2 
3<
 <
 <
 <
D )-$059$
 )5)5+7(4&*$
 $
 $
$
 $
 :	$

 SM$
 ?+d2$
 uo$
  $
 "%$
 uo$
 tO$
 
$
 $
 $
 $
T )5)5+7(4&*
 
 

 uo	

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

  
 "%
 uo
 tO
 

 
 
 
J 0<*6(,59-1(,,0/39
 +/6B(4)5+7(4&*"$0=A/9
 9
 9
V
9

 'tn9
 "$9
 :9
 39
 !$d
9
 :9
 #Tk9
 #&*9
 !4Z9
 &.d^9
  uo!9
"  #9
$ "%%9
& uo'9
( tO)9
* t+9
, SM-9
. #?3d:/9
0 
~	19
 9
 9
 9
| )--1	 
 )5)5+7(4&* 
  
  
 
 : 
 !$d
	 
 uo 
   
 "% 
 uo 
 tO 
 
 
  
  
  
D #K,
 #/;-1$0=A*6(,#'59-1(,,004/3FJ#@
& +/6B#(4)5+7(4&*5@
 @
 @
&@
 t@
 'tn	@

 +@
 SM@
 #?3d:@
 "$@
 :@
 D[@
 3@
 !$d
@
 :@
 #Tk@
 #'+@
  #&*!@
" $D#@
& !4Z'@
( &.d^)@
* *+@
, uo-@
.  /@
0 "%1@
2 uo3@
4 tO5@
6 
7@
 @
 @
 @
H $(!% $/;-1 *6(,59-1(,,0/3FJ<
" +/6B$((4)5+7(4&*1<
 <
 <
Dj<
 $J<
 :	<

 'tn<
 +<
 Tz<
 "$<
 :<
 3<
 !$d
<
 :<
 #Tk<
 #&*<
 $D<
" !4Z#<
$ &.d^%<
& "'<
( uo)<
*  +<
, "%-<
. uo/<
0 tO1<
2 
3<
 <
 <
 <
B '+ $ "/;-1$0=A*6(,(,59-1(,,0/3FJ'D
* +/6B#(4)5+7(4&*9D
 D
 D
"D
 t#D
 :	D

 TzD
 tD
 'tnD
 +D
 SMD
 #?3d:D
 "$D
 :D
 &D
 3D
 !$d
D
  :!D
" #Tk#D
$ #&*%D
& $D'D
* !4Z+D
, &.d^-D
. */D
0 uo1D
2  3D
4 "%5D
6 uo7D
8 tO9D
: 
;D
 D
 D
 D
R #/;-1$06:=A*6(,(,59-1(,,0/3FJ#@
& +/6B#(4)5+7(4&*5@
 @
 @
(@
 t@
 'tn	@

 +@
 SM@
 )-t@
 #?3d:@
 "$@
 :@
 &@
 3@
 !$d
@
 :@
 #Tk@
  #&*!@
" $D#@
& !4Z'@
( &.d^)@
* *+@
, uo-@
.  /@
0 "%1@
2 uo3@
4 tO5@
6 
7@
 @
 @
 @
L 0<6:*659(,.
 +/6B(4)5+7(4&*!.
 .
 .
 #.
 $.
 'tn	.

 4.
 "$.
 3.
 :.
 !4Z.
 &.d^.
 uo.
  .
 "%.
 uo.
  tO!.
" 
#.
 .
 .
 .
d 0<-1 *6(,59-1(,,0/3FJ4
 +/6B(4)5+7(4&*)4
 4
 4
&tn4
 +4
 Tz	4

 "$4
 :4
 34
 !$d
4
 :4
 #Tk4
 #&*4
 $D4
 !4Z4
 &.d^4
  uo!4
"  #4
$ "%%4
& uo'4
( tO)4
* 
+4
 4
 4
 4
r 0<6:*6(,59-1(,,00
 +/6B(4)5+7(4&*%0
 0
 0
0
 'tn0
 4	0

 "$0
 :0
 30
 !$d
0
 :0
 #Tk0
 !4Z0
 &.d^0
 uo0
  0
  "%!0
" uo#0
$ tO%0
& 
'0
 0
 0
 0
r &*&* $!%"&#'!%)-"&-1#'/;6:-159.2%)6:*6(,59(,,0/3FJ?d
B +/6B(4)5+7(4&*Od
 d
 d
d
 d
 	d

 d
 (d
 d
d
 td
 :d
 $Jd
 4Zd
 Djd
 $;d
  $;d
 4Kd
   $d{!d
" D[#d
$ 'tn%d
& 4'd
( V|d*)d
* (,d{+d
, !%t-d
. d
/d
0  (}t31d
2 "$3d
4 :5d
6 37d
8 :9d
: #Tk;d
< #&*=d
> $D?d
B !4ZCd
D &.d^Ed
F uoGd
H  Id
J "%Kd
L uoMd
N tOOd
P 
Qd
 d
 d
 d
P "&"&/;-1)-,0"-1*6(,59-1(,,0/3FJ#@
& +/6B&*(4)5+7(4&*5@
 @
 @
$,@
 4<@
 'tn	@

 +@
  $&@
 #T\@
 t@
 !$d
@
 "$@
 :@
 3@
 !$d
@
 :@
 #Tk@
  #&*!@
" $D#@
& !4Z'@
( &.d^)@
* $+@
, uo-@
.  /@
0 "%1@
2 uo3@
4 tO5@
6 
7@
 @
 @
 @
J '+ !"$0/;-1=A*6(,#'(,59-1(,,004/3FJ+H
. +/6B#(4)5+7(4&*=H
 H
 H
*H
 t#H
 Tz	H

 d
H
 tH
 SMH
 'tnH
 +H
 #?3d:H
 "$H
 :H
 D[H
 &H
 3H
  !$d
!H
" :#H
$ #Tk%H
& #'+'H
( #&*)H
* $D+H
. !4Z/H
0 &.d^1H
2 *3H
4 uo5H
6  7H
8 "%9H
: uo;H
< tO=H
> 
?H
 H
 H
 H
Z 0<-1*6(, 59-1(,,0/3FJ6
 +/6B(4)5+7(4&*+6
 6
 6
&6
 'tn6
 +	6

 "$6
 :6
 Tz6
 36
 !$d
6
 :6
 #Tk6
 #&*6
 $D6
 !4Z6
  &.d^!6
" uo#6
$  %6
& "%'6
( uo)6
* tO+6
, 
-6
 6
 6
 6
t "&"& "$(/;-1&*&*(,*6(,59-1(,,0/3FJ'D
* +/6B $(4)5+7(4&*9D
 D
 D
$,D
 4<D
 Tz	D

 tD
 TzD
 'tnD
 +D
 tD
 tD
 :D
 "$D
 :D
 3D
 !$d
D
  :!D
" #Tk#D
$ #&*%D
& $D'D
* !4Z+D
, &.d^-D
. /D
0 uo1D
2  3D
4 "%5D
6 uo7D
8 tO9D
: 
;D
 D
 D
 D
R '+"/;-1 !$0*.=A*6(,#'(,59-1(,,004$(&*/3FJ1N
4 +/6B#(4)5+7(4&*CN
 N
 N
"N
 t#N
 t	N

 'tnN
 +N
 TzN
 d
N
 SMN
 !4KN
 #?3d:N
 "$N
 :N
 D[N
 &N
  3!N
" !$d
#N
$ :%N
& #Tk'N
( #'+)N
* "+N
, t-N
. #&*/N
0 $D1N
4 !4Z5N
6 &.d^7N
8 *9N
: uo;N
<  =N
> "%?N
@ uoAN
B tOCN
D 
EN
 N
 N
 N
f '+!/;-1*6(,(,59-1(,,0/3FJ<
" +/6B#(4)5+7(4&*1<
 <
 <
+<
 t#<
 d
	<

 'tn<
 +<
 "$<
 :<
 &<
 3<
 !$d
<
 :<
 #Tk<
 #&*<
 $D<
" !4Z#<
$ &.d^%<
& *'<
( uo)<
*  +<
, "%-<
. uo/<
0 tO1<
2 
3<
 <
 <
 <
B '+"/;-1$0=A*6(,59-1(,,0/3FJ!>
$ +/6B#(4)5+7(4&*3>
 >
 >
">
 t#>
 t	>

 'tn>
 +>
 SM>
 #?3d:>
 "$>
 :>
 3>
 !$d
>
 :>
 #Tk>
 #&*>
  $D!>
$ !4Z%>
& &.d^'>
( *)>
* uo+>
,  ->
. "%/>
0 uo1>
2 tO3>
4 
5>
 >
 >
 >
H %)/348!%/;-1"&0<)-04AE*6(,59-1-9>B(,,0/J
2 +/6B(4)5+7(4&*?J
 J
 J
J
 12J
 Tk	J

 DjJ
 "&J
 +T1J
 $;J
 'tnJ
 +J
 4ZJ
 !)J
  $&J
 #,&-J
 '7$>J
  "$!J
" :#J
$ 3%J
& !$d
'J
( &c])J
* $O4t;+J
, :-J
. #Tk/J
2 !4Z3J
4 &.d^5J
6 uo7J
8  9J
: "%;J
< uo=J
> tO?J
@ 
AJ
 J
 J
 J
` #$0=A/;-1*6(,5904,0,0/3FJ(,#@
& +/6B(4)5+7(4&*3@
 @
 @
Ci@
 @
 t	@

 SM@
 #?3d:@
 'tn@
 +@
 "$@
 :@
 3@
 #'+@
 #Tk@
  #Tz@
 #&*@
  $D!@
" :#@
& !4Z'@
( &.d^)@
* uo+@
,  -@
. "%/@
0 uo1@
2 tO3@
4 
5@
 @
 @
 @
L #$0=A/;-1*6(,5904,0,0/3FJ(,#@
& +/6B(4)5+7(4&*3@
 @
 @
s@
 @
 t	@

 SM@
 #?3d:@
 'tn@
 +@
 "$@
 :@
 3@
 #'+@
 #Tk@
  #Tz@
 #&*@
  $D!@
" :#@
& !4Z'@
( &.d^)@
* uo+@
,  -@
. "%/@
0 uo1@
2 tO3@
4 
5@
 @
 @
 @
L 0<*6(,&*/3-
 )5)5+7(4&*-
 -
 -
Ci-
 c]-
 'tn	-

 "$-
 :-
 t-
 #&*-
 uo-
  -
 "%-
 uo-
 tO-
 
	 -
 -
 -
 -
f 0<*6(,&*/3-
 )5)5+7(4&*-
 -
 -
s-
 c]-
 'tn	-

 "$-
 :-
 t-
 #&*-
 uo-
  -
 "%-
 uo-
 tO-
 
	 -
 -
 -
 -
f 0<*6(,,0/3FJ(,0
 )5)5+7(4&*!0
 0
 0
Ci0
 0
 'tn	0

 "$0
 :0
  #Tz0
 #&*0
 $D0
 :0
 uo0
  0
 "%0
 uo0
  tO!0
" 
#0
 0
 0
 0
l 0<*6(,,0/3FJ(,1
 )5)5+7(4&*!1
 1
 1
s1
 1
 'tn	1

 "$1
 :1
  #Tz1
 #&*1
 $D1
 :1
 uo1
  1
 "%1
 uo1
  tO!1
" 
#1
 1
 1
 1
n 0<*6(,/3+
 )5)5+7(4&*+
 +
 +
Ci+
 c]+
 'tn	+

 "$+
 :+
 #&*+
 uo+
  +
 "%+
 uo+
 tO+
 
	 +
 +
 +
 +
b 0<*6(,/3+
 )5)5+7(4&*+
 +
 +
s+
 c]+
 'tn	+

 "$+
 :+
 #&*+
 uo+
  +
 "%+
 uo+
 tO+
 
	 +
 +
 +
 +
` )5)5+7(4&*
 
 
 uo
  	

 "%
 uo
 tO
 

 
 
 
B 26#',0)
 )5)5+7(4&*)
 )
 )
3<'$.)
 Dj)
 Dj	)

 #Tk)
 uo)
  )
 "%)
 uo)
 tO)
 
)
 )
 )
 )
\ 26#',0*
 )5)5+7(4&**
 *
 *
+*
 3<'$.*
 Dj	*

 Dj*
 #Tk*
 uo*
  *
 "%*
 uo*
 tO*
 
*
 *
 *
 *
` )5)5+7(4&*
 
 
+
 uo	

  
 "%
 uo
 tO
 

 
 
 
J  	$
 )5)5+7(4&*$
 $
 $
'$
  $
 Dj	$
 uo$
  $
 "%$
 uo$
 tO$
 
$
 $
 $
 $
R  #

 )5)5+7(4&*#
 #
 #
+#
 Dj#

 uo#
  #
 "%#
 uo#
 tO#
 
#
 #
 #
 #
R )5)5+7(4&*
 
 

 uo	

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

  
 "%
 uo
 tO
 

 
 
 
F *.#
 )5)5+7(4&*#
 #
 #
$&#
 uo	#

  #
 "%#
 uo#
 tO#
 
#
 #
 #
 #
P "&+/	"
 )5)5+7(4&*"
 "
 "
"
 $J"
 "Dj	"
 uo"
  "
 "%"
 uo"
 tO"
 
"
 "
 "
 "
N  +/	"
 )5)5+7(4&*"
 "
 "
"
 Dj"
 "Dj	"
 uo"
  "
 "%"
 uo"
 tO"
 
"
 "
 "
 "
P )5)5+7(4&*
 
 

 uo	

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

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

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

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

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

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

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

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

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

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

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

  
 "%
 uo
 tO
 

 
 
 
F NR"	"
 )5)5+7(4&*"
 "
 "
"
 <#-.=CdJ"
 t	"
 uo"
  "
 "%"
 uo"
 tO"
 
"
 "
 "
 "
P #$0=A04/;*659-1-1",0/3FJ(,#@
& 7C*.(4)5+7(4&*3@
 @
 @
@
 ()@
 t	@

 SM@
 #?3d:@
 #'+@
 'tn@
 "$@
 3@
 +@
 !$d
@
 t@
 #Tk@
 #&*@
  $D!@
" :#@
& &.d^'@
( !4Z)@
* uo+@
,  -@
. "%/@
0 uo1@
2 tO3@
4 
5@
 @
 @
 @
J  )5:>'+0
 )5)5+7(4&*0
 0
 0
0
 Dj0
 "#	0

  0470
 0
 uo0
  0
 "%0
 uo0
 tO0
 
0
 0
 0
 0
l "&	!
 )5)5+7(4&*!
 !
 !
 #!
 !
 $J	!
 uo!
  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
J *.
 )5)5+7(4&*
 
 
$J
 uo	

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

 "%
 uo
 tO
 

 
 
 
F )5)5+7(4&* 
  
  
 # 
  

 uo 
   
 "% 
 uo 
 tO 
 
 
  
  
  
J 04!

 )5)5+7(4&*!
 !
 !
!
 %,!

 uo!
  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
L #!

 )5)5+7(4&*!
 !
 !
!
 t!

 uo!
  !
 "%!
 uo!
 tO!
 
!
 !
 !
 !
P *.*6)
 )5)5+7(4&*)
 )
 )
 #)
 )
 "	)

  $;)
 "$)
 uo)
  )
 "%)
 uo)
 tO)
 
)
 )
 )
 )
Z (,%))-266:/3&*%)! 0
 )5)5+7(4&*#0
 0
 0
0
 d{0
  $;	0

 %)4K0
 )-t0
 "&0
 t0
 d{0
 d
0
 Tz0
 uo0
  0
 "%0
  uo!0
" tO#0
$ 
%0
 0
 0
 0
 0
 0
 0
 0
rP   r;   c                       e Zd ZdZdZdS )r  a  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
        is_direct_messages (:obj:`bool`, optional): :obj:`True`, if the chat is the direct messages
            chat of a channel.

            .. versionadded:: 22.4

    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
        is_direct_messages (:obj:`bool`): Optional. :obj:`True`, if the chat is the direct messages
            chat of a channel.

            .. versionadded:: 22.4

    .. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups
    r*  N)r  r  r  r  r  r*  rP   rO   r  r    s         ; ;z IIIrP   r  )Lr  r   r  collections.abcr   htmlr   typingr   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._utils.usernamesr   r   telegram.helpersr   r   rn   r   rf   r   r   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   r5   r6   r7   r8   r9   r;   r  r*  rP   rO   <module>r     sU  ( F E     $ $ $ $ $ $       ' ' ' ' ' ' ' '       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 #2! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !D 211111G=
 G=
 G=
 G=
 G=
 G=
 G=
 G=
Tz> > > > >9 > > > > >rP   