
    YPiD                       d Z ddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZm Z m!Z!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r@ddlm,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI  G d de      ZJ G d deJ      ZKy)z?This module contains an object that represents a Telegram Chat.    N)Sequence)escape)TYPE_CHECKINGFinalOptionalUnion)	constants)ChatPermissions)
ForumTopic)
MenuButton)ReactionType)TelegramObject)enum)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInputReplyMarkup
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	PhotoSizeReplyParametersStickerSuggestedPostParametersUserChatBoostsVenueVideo	VideoNoteVoicec            N       ,4    e Zd ZU dZdZ	 	 	 	 	 	 d(dddededee   dee   d	ee   d
ee   dee   dee   dee	   f fdZ
ej                  j                  Zee   ed<   	 ej                  j                   Zee   ed<   	 ej                  j"                  Zee   ed<   	 ej                  j$                  Zee   ed<   	 ej                  j&                  Zee   ed<   	 edee   fd       Zedee   fd       Zedee   fd       Zd)dee   defdZd)dee   defdZd)dee   defdZeeeedddee   dee   dee   d ee   dee	   defd!Zeeeedddee   dee   dee   d ee   dee	   ded"   fd#Z eeeedddee   dee   dee   d ee   dee	   defd$Z!eeeeddd%edee   dee   dee   d ee   dee	   dd&fd'Z"	 	 d*eeeeddd%ed(ee   d)ee#ee$jJ                  f      dee   dee   dee   d ee   dee	   defd*Z&eeeeddd+edee   dee   dee   d ee   dee	   defd,Z'eeeeddd-e#eef   dee   dee   dee   d ee   dee	   defd.Z(eeeeddd+edee   dee   dee   d ee   dee	   defd/Z)eeeeddd-e#eef   dee   dee   dee   d ee   dee	   defd0Z*	 d)eeeeddd%ed1ee   dee   dee   dee   d ee   dee	   defd2Z+	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d+eeeeddd%ed3ee   d4ee   d5ee   d6ee   d7ee   d8ee   d9ee   d:ee   d;ee   d<ee   d=ee   d>ee   d?ee   d@ee   dAee   dBee   dee   dee   dee   d ee   dee	   def.dCZ,	 	 d*eeeeddd%edDe-d)ee#ee$jJ                  f      dEee   dee   dee   dee   d ee   dee	   defdFZ.	 d)eeeedddDe-dEee   dee   dee   dee   d ee   dee	   defdGZ/eeeeddd%edHedee   dee   dee   d ee   dee	   defdIZ0eeeedddJe1dee   dee   dee   d ee   dee	   defdKZ2eeeedddee   dee   dee   d ee   dee	   defdLZ3eeeedddedee   dee   dee   d ee   dee	   defdMZ4	 d)eeeedddNee   dee   dee   dee   d ee   dee	   defdOZ5edfeeeedddPedQee   dRee   dee   dee   dee   d ee   dee	   defdSZ6	 	 d*eeeedddPee   dRee   dee   dee   dee   d ee   dee	   defdTZ7eeeedddee   dee   dee   d ee   dee	   defdUZ8e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   dYee9   dZee:d[      d\ee   d]ee   d^ed_   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   diee   dee   dee   dee   d ee   dee	   ddjf.dkZ;eeeedddPedee   dee   dee   d ee   dee	   defdlZ<eeeedddme:e   dee   dee   dee   d ee   dee	   defdnZ=eeddddddfdeeeeeddeddo
dpe:e#dq      dQee   d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   dgee   dhee   dee   dee   dee   d ee   dee	   dree   dXee   dsee:d[      dedt   f(duZ>	 	 d*eeeedddved]ee   dRee   dee   dee   dee   d ee   dee	   defdw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dxdJe#e1dyf   dree   dQee   dYee9   dXee   dsee:d[      d\ee   d]ee   dzee   d`eda   dRee   dbee   dcee   d{ee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf2d}ZAdddeddedddddddfdedeeeedd~dee   d	ee   d
ee   dQee   dYee9   dee   d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   ded   dee   dee   dee   d ee   dee	   ddjf.dZBd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dxde#e1df   deeC   dee   dee   dree   dQee   dYee9   dXee   dsee:d[      d\ee   d]ee   dee1   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf6dZDdededdeddddddddfdedeeeeddxde#e1df   dree   dQee   dYee9   dXee   dee   dsee:d[      d\ee   d]ee   dee1   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf2dZEededdfdeeeeedddRedddQee   dYed   d\ee   d`eda   dbee   dgee   dhee   dee   dee   dee   d ee   dee	   ddjfdZFeddedddddddfdeeeeedddQee   dYee9   dee   d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   dee   dee   dee   d ee   dee	   ddjf&dZGededddddfdeeeeedddedQee   dYed   d\ee   d]ee   d`eda   dRee   dbee   dcee   dgee   dhee   dee   dee   dee   d ee   dee	   ddjf"dZHd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de:d   dee   dee   dee   dee   dee   dee   dee   dee   dee   dee   dee   dQee   dYed   dee#eeIf      dee   dee   dee   dee:e      d\ee   d]ee   d`eda   dbee   dcee   ddee   deedf   dgee   dhee   dee   dee   dee   d ee   dee	   ddjfLdZJddedddddedddddddfdedeeeedddee   dee   dQee   dYee9   deeC   dee   dee   dee   d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   ded   dee   dee   dee   d ee   dee	   ddjf2dZKd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dxde#e1df   deeC   dee   dee   dree   dXee   dQee   dYee9   dsee:d[      d\ee   d]ee   dzee   dee1   d`eda   dRee   dbee   dcee   d{ee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf:dZLededdddddddfdeeeeeddde#e1df   dQee   dYee9   d\ee   d]ee   dee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   dee   dee   dee   d ee   dee	   ddjf(dZMdddddeddddedddddddfdedeeeedddee   dee   dee   dee   dee   dQee   dYee9   dee   dee   dee   d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   ded   dee   dee   dee   d ee   dee	   ddjf6dƄZNd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dxde#e1df   deeC   dree   dQee   dYee9   dee   dee   dXee   dee   dsee:d[      d\ee   d]ee   dzee   dee1   d`eda   dRee   dbee   dcee   d{ee   dee1   dee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf@d̄ZOddededdddddddfdedeeeeddxde#e1df   deeC   dee   dQee   dYee9   d\ee   d]ee   dee1   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf.dЄZPddedededddddddfdedeeeeddxde#e1df   deeC   dree   dQee   dYee9   dXee   dsee:d[      d\ee   d]ee   d`eda   dRee   dbee   dcee   ddee   deedf   dgee   dhee   d|ee   dee   dee   dee   d ee   dee	   ddjf0dӄZQd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de:e#edf      d;ee   dee   dee   deeR   dee   dQee   dYee9   dee   dee   deeC   dee#ee$jJ                  f      dee:d[      d\ee   d]ee   d`eda   dRee   dee   dee:d[      dbee   dcee   dgee   dhee   dee   dee   dee   d ee   dee	   ddjf<dZSdedededddddddfdeeeeeddde#eef   dPedree   dXee   dsee:d[      dQee   dYee9   d\ee   d]ee   d`eda   d{ee   dcee   dee   ddee   deedf   dgee   dhee   dee   dee   dee   d ee   dee	   ddf.dZTdedededddddddfdeeeeeddd-e#eef   dPedree   dXee   dsee:d[      dQee   dYee9   d\ee   d]ee   d`eda   d{ee   dcee   dee   ddee   deedf   dgee   dhee   dee   dee   dee   d ee   dee	   ddf.dZUeedddfeeeeddde#eef   dme:e   dQee   d\ee   d]ee   dee   ddee   dee   dee   dee   d ee   dee	   ded   fdZVeedddfeeeeddd-e#eef   dme:e   dQee   d\ee   d]ee   dee   ddee   dee   dee   dee   d ee   dee	   ded   fdZWeeddddfeeeeddde#eef   dPedQee   d\ee   d]ee   dee   ddee   deedf   dee   dee   dee   d ee   dee	   ddjfdZXeeddddfeeeeddd-e#eef   dPedQee   d\ee   d]ee   dee   ddee   deedf   dee   dee   dee   d ee   dee	   ddjfdZYeeddfeeeeddde#eef   dme:e   dQee   d\ee   d]ee   ddee   dee   dee   dee   d ee   dee	   ded   fdZZeeddfeeeeddd-e#eef   dme:e   dQee   d\ee   d]ee   ddee   dee   dee   dee   d ee   dee	   ded   fdZ[eeeedddee   dee   dee   d ee   dee	   defdZ\	 	 	 	 d,eeeedddee#ee$jJ                  f      dee   dee   dee   dee   dee   dee   d ee   dee	   ddfdZ]	 	 	 	 d,eeeeddde#edf   dee#ee$jJ                  f      dee   dee   dee   dee   dee   dee   d ee   dee	   ddfdZ^eeeeddde#edf   dee   dee   dee   d ee   dee	   ddfdZ_	 d)eeeedddeCdedee   dee   dee   dee   d ee   dee	   ddfdZ`	 d)eeeeddde#edf   dee   dee   dee   dee   d ee   dee	   ddfdZaeeeeddd%edee   dee   dee   d ee   dee	   defdZbeeeeddd%edee   dee   dee   d ee   dee	   defdZc	 d)eeeedddeed   dee   dee   dee   d ee   dee	   defdZe	 	 d*eeeeddded ee   dee   dee   dee   dee   d ee   dee	   deffdZg	 	 d*eeeeddd]edee   dee   dee   dee   dee   d ee   dee	   defdZheeeeddd]edee   dee   dee   d ee   dee	   defdZieeeeddd]edee   dee   dee   d ee   dee	   defdZjeeeeddd]edee   dee   dee   d ee   dee	   defdZkeeeeddd]edee   dee   dee   d ee   dee	   defdZleeeedddee   dee   dee   d ee   dee	   defdZmeeeedddedee   dee   dee   d ee   dee	   defd	Zneeeedddee   dee   dee   d ee   dee	   defd
Zoeeeedddee   dee   dee   d ee   dee	   defdZpeeeedddee   dee   dee   d ee   dee	   defdZqeeeedddee   dee   dee   d ee   dee	   defdZreeeedddee   dee   dee   d ee   dee	   dedfdZseeeeddd%edee   dee   dee   d ee   dee	   ddfdZt	 	 d*eeeedddPedee#e:e#euef      euef      dee   dee   dee   dee   d ee   dee	   defdZvdeddeeddddddddfedeeeedddedpe:d   dree   dXee   dsee:d[      d{ee   dQee   d\ee   d`eda   dYee9   dRee   dee   dcee   ddee   deedf   d]ee   dhee   dgee   dee   dee   dee   d ee   dee	   ddjf0dZwdeddfeeeeddde#edf   dWee   dee   dee:d[      dee   dee   dee   dee   d ee   dee	   defdZx	 d)eeeedddRededee   dee   dee   dee   d ee   dee	   defdZy	 d)eeeeddd ee   dee   dee   dee   d ee   dee	   defd!Zzeeeedddee   dee   dee   d ee   dee	   defd"Z{eeeedddRedPedee   dee   dee   d ee   dee	   defd#Z|	 d)eeeedddPed$ee#ee$jJ                  f      dee   dee   dee   d ee   dee	   defd%Z}	 d)eeeedddPed&ee   dee   dee   dee   d ee   dee	   defd'Z~ xZS (-  	_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| _        | j                          y )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             D/root/twitch_bot/venv/lib/python3.12/site-packages/telegram/_chat.pyrH   z_ChatBase.__init__d   sw     	J/););T4H	$)
'/)3(1(02D''    SENDERPRIVATEGROUP
SUPERGROUPCHANNELreturnc                 d    | j                   | j                   S | j                  | j                  S y)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/     ::!::>>%>>!rP   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                    | j                   | j                  k(  rO|rt        | j                  |      S | j                  r t        | j                  | j                        S t        d      | j                  rI|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 99$/>>~~/HH[\\==4&499+Q//zz4::,b155UVVJKKrP   c                    | j                   | j                  k(  rS|rt        | j                  |d      S | j                  r"t        | j                  | j                  d      S t        d      | j                  r_|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    & 99$/qII~~/QRSS[\\==?4;<BtyykKKzz?4::qAB"TYYKqQQUVVJKKrP   c                    | j                   | j                  k(  rO|rt        | j                  |      S | j                  r t        | j                  | j                        S t        d      | j                  r[|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    $ 99$+DGGT::~~+DGGT^^DD[\\=="499+Rt~TBBzz"499+Rtzz0B/C4HHUVVJKKrP   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutrE   ro   rp   rq   rr   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  sF     & \\^..GG%'+%! / 
 
 	
 
   3<:<)r   .c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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_administrators5  sF     . \\^;;GG%'+%! < 
 
 	
 
rz   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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_countU  sF     & \\^99GG%'+%! : 
 
 	
 
rz   user_idr   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_memberq  sI     ( \\^33GG%'+%! 4 
 
 	
 
   4=;=revoke_messages
until_datec                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     , \\^33GG%'+%!!+ 4 

 

 
	
 

   6?=?sender_chat_idc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sI     . \\^88GG)%'+%! 9 
 
 	
 
r   ru   c          	      ~   K   | j                         j                  || j                  |||||       d{   S 7 w)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  sI     2 \\^8877%'+%! 9 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sI     . \\^::GG)%'+%! ; 
 
 	
 
r   c          	      ~   K   | j                         j                  || j                  |||||       d{   S 7 w)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  sI     2 \\^::77%'+%! ; 
 
 	
 
r   only_if_bannedc          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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_member9  sL     * \\^55GG%'+%!) 6 	
 	
 		
 	
   5><>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                         j                  | j                  |||||||||	||||||
|||||||       d{   S 7 w)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_memberY  sz     \ \\^77GG+// 3-!5- 3%'+%!%+#9/--1'A/ 8 
 
 	
 
   AAAApermissions use_independent_chat_permissionsc                   K   | j                         j                  | j                  |||||||||	
       d{   S 7 w)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  sR     : \\^88GG#!-M%'+%! 9 
 
 	
 
   7A >A c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sL     2 \\^88GG#-M%'+%! 9 	
 	
 		
 	
r   custom_titlec          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sM     0 \\^GGGG%%'+%! H 	
 	
 		
 	
r   photoc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  I     2 \\^22GG%'+%! 3 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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_photo5  sF     0 \\^55GG%'+%! 6 
 
 	
 
rz   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_titleV  r   r   descriptionc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_descriptiony  sI     2 \\^88GG#%'+%! 9 
 
 	
 
r   
message_iddisable_notificationbusiness_connection_idc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     . \\^44GG!!5%'+%!#9 5 

 

 
	
 

r   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sL     , \\^66GG%'+%!!#9 7 	
 	
 		
 	
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  sF     ( \\^;;GG%'+%! < 
 
 	
 
rz   )reply_to_message_idallow_sending_without_replydisable_web_page_previewro   rp   rq   rr   rE   text
parse_modereply_markupentitiesr/   protect_contentmessage_thread_idlink_preview_optionsr,   reply_parametersr2   message_effect_idallow_paid_broadcastdirect_messages_topic_idsuggested_post_parametersr4   r   r   r   r.   c                   K   | j                         j                  | j                  |||||||	|||||||||||
||||       d{   S 7 w)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  sz     H \\^00GG!%=!5 3!5-%(C+/%'+%!#9/!5%=&?/ 1 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_message;  sI     , \\^22GG!%'+%! 3 
 
 	
 
r   message_idsc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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[  sI     , \\^33GG#%'+%! 4 
 
 	
 
r   )
r   r   ro   rp   rq   rr   rE   captionr   caption_entitiesmedia)r%   r&   r'   r(   r   r   )r.   .c
       
            K   | j                         j                  | j                  |||
||||||||||||||||	       d{   S 7 w)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{  sq     H \\^44GG!5 3%'+%!(C+/!--#9/!5%=) 5 
 
 	
 
   AA
AA
actionc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     , \\^44GG/%'+%!#9 5 

 

 
	
 

r   )r   r   filenamero   rp   rq   rr   rE   r1   has_spoilershow_caption_above_mediar   c                   K   | j                         j                  | j                  |||||
|||||||||||||	||||||       d{   S 7 w)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 \\^..GG!5 3-%!(C-+/%'+%!##9/!5%=%=&?3 / 
 
 	
 
   AAA	A)r   r   contactro   rp   rq   rr   rE   phone_numbervcardr  r    c                   K   | j                         j                  | j                  ||||||	||||||||||||
||||       d{   S 7 w)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_contact  sz     H \\^00GG%!!5 3-%%'+%!(C+/#9/!5%=&?/ 1 
 
 	
 
r   audior   duration	performer	thumbnailc                   K   | j                         j                  | j                  ||||||||||||	||
||||||||||||       d{   S 7 w)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 \\^..GG!5 3-%!(C-+/%'+%!#9/!5%=&?7 / 
 
 	
 
   AA
AAdocumentr!   disable_content_type_detectionc                   K   | j                         j                  | j                  |||||||||||||
||||||	|||||       d{   S 7 w)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GG!5 3-%%'+%!!+I(C-+/#9/!5%=&?3 2 
 
 	
 
r  )r   r   ro   rp   rq   rr   rE   	checklistr$   r#   c                   K   | j                         j                  | j                  |||||||||	|
||||       d{   S 7 w)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  sa     < \\^22GG#9!5+/-% 3(C%'+%! 3 
 
 	
 
s   <AAAemojic                   K   | j                         j                  | j                  ||||||||||||||||	|
|       d{   S 7 w)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  sn     @ \\^--GG!5 3-%%'+%!(C+/#9/!5%=&?' . 
 
 	
 
s   A A	AA	game_short_namec
                   K   | j                         j                  | j                  |||
|||||||||||||	       d{   S 7 w)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_gameI  sg     < \\^--GG+!5 3-%%'+%!(C+/#9/!5# . 
 
 	
 
s   >A AApayloadcurrencypricesr+   provider_tokenstart_parameter	photo_url
photo_sizephoto_widthphoto_height	need_nameneed_phone_number
need_emailneed_shipping_addressis_flexibleprovider_datasend_phone_number_to_providersend_email_to_providermax_tip_amountsuggested_tip_amountsc                R  K    | j                         j                  d(i d| j                  d|d|d|d|d|d|d|d	|d
|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|!d|"d|#d|$d|%d| d|d|d |d!|d"|d#|d$|d%|d&| d'{   S 7 w))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   r1  z_ChatBase.send_invoice{  s    z 1T\\^00 '
GG'
'
 $'
 	'

 *'
 '
 '
 ,'
  '
 "'
 $'
 &'
  '
 0'
 "'
  #8!'
" $#'
$ "6%'
& !4''
( &)'
* (+'
, +H-'
. $:/'
0 &1'
2 (3'
4 ,5'
6 &7'
8 "9'
: )D;'
< *='
> #8?'
@ ,A'
B 0C'
D .E'
F 0G'
H "6I'
J &>K'
L '@M'
 '
 '	
 '
s   BB' B%!B')r   r   locationro   rp   rq   rr   rE   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr2  r-   c                   K   | j                         j                  | j                  ||||||||||||||||||	|
|||||       d{   S 7 w)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   r3  r4  r   r   r   r   ro   rp   rq   rr   r2  r5  rE   r6  r7  r8  r   r   r   r   r   r   r   r   N)rv   send_locationr=   )rM   r3  r4  r   r   r5  r6  r7  r8  r   r   r   r   r   r   r   r   r   r   r2  ro   rp   rq   rr   rE   s                            rO   r:  z_ChatBase.send_location  s     L \\^11GG!5 3-%%'+%#! 3#9(C+/#9/!5%=&?3 2 
 
 	
 
r  	animationr   widthheightc                  K    | j                         j                  di d| j                  d|d|d|d|d|d|d|d	|d
|d|d|d|d|d|d|d|d|	d|d|
d|d|d|d|d|d|d|d|d| d{   S 7 w) 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   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   r   r   r   Nr0  )rv   send_animationr=   )rM   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_animation#  sR    T 3T\\^22 
GG

 
 	

 
 
 "
 "6
 !4
 .
 &
 &
 (
 ,
 &
  "!
" )D#
$ .%
& '
( ,)
* 0+
, $-
.  /
0 $:1
2 03
4 "65
6 &>7
8 &>9
: '@;
 
 	
 
s   BBB
Bstickerr3   c                   K   | j                         j                  | j                  ||||||||||||||||	|
||       d{   S 7 w)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   rB  z_ChatBase.send_stickerm  sq     B \\^00GG!5 3-%%'+%!(C+/#9/!5%=&?) 1 
 
 	
 
r   )r   r   venuero   rp   rq   rr   rE   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typerC  r6   c                   K   | j                         j                  | j                  |||||||||||||||||	|
||||||||       d{   S 7 w)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   r3  r4  rA   rD  rE  r   r   r   r   ro   rp   rq   rr   rC  rF  rE   rG  rH  r   r   r   r   r   r   r   r   N)rv   
send_venuer=   )rM   r3  r4  rA   rD  rE  r   r   rF  rG  rH  r   r   r   r   r   r   r   r   r   r   rC  ro   rp   rq   rr   rE   s                              rO   rJ  z_ChatBase.send_venue  s     P \\^..GG'!5 3-%%'+%+!+/(C+/#9/!5%=&?7 / 
 
 	
 
r  videor7   supports_streamingcoverstart_timestampc                .  K    | j                         j                  d"i d| j                  d|d|d|d|d|d|d|d	|d
|d|d|d|d|d|d|	d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d | d!{   S 7 w)#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   rK  r	  r   r   r   r   r   ro   rp   rq   rr   r<  r=  r   rL  r  rM  rN  rE   r   r   r   r   r   r   r   r   r   r   r   r   Nr0  )rv   
send_videor=   ) rM   rK  r	  r   r   r   r<  r=  r   rL  r   r   r   r   r  r   r   r   r   r   rM  rN  r   r   r   r   r   ro   rp   rq   rr   rE   s                                    rO   rP  z_ChatBase.send_video  sr    Z /T\\^.. !
GG!
!
 !
 	!

 "6!
 !4!
 .!
 &!
 &!
 (!
 ,!
 &!
 !
 !
 "!
   2!!
"  #!
$ %!
& ,'!
( ")!
* )D+!
, .-!
. /!
0 ,1!
2 03!
4 $5!
6 $:7!
8 09!
: "6;!
< &>=!
> &>?!
@ '@A!
 !
 !	
 !
s   BBBB
video_noter8   lengthc                   K   | j                         j                  | j                  ||||||	||||||||||||
||||       d{   S 7 w)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   rQ  r	  rR  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   rQ  r	  rR  r   r   r   r   r  r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                          rO   rT  z_ChatBase.send_video_note;  sz     H \\^33GG!!5 3-%%'+%!(C+/#9/!5%=&?/ 4 
 
 	
 
r   voicer9   c                   K   | j                         j                  | j                  ||||||
||||||||||||	|||||       d{   S 7 w)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   rU  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   rU  r	  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rr   rE   s                           rO   rW  z_ChatBase.send_voicey  s}     J \\^..GG!5 3-%%'+%!!(C-+/#9/!5%=&?1 / 
 
 	
 
   AAAAquestionoptionsr*   allows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesquestion_parse_modequestion_entitiesc                "  K    | j                         j                  d i d| j                  d|d|d|d|d|d|d|d	|d
|d|d|	d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d| d{   S 7 w)!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   rY  rZ  r   rB   r[  r\  r]  r   r   r   r   ro   rp   rq   rr   r   r   r^  r_  r`  ra  rE   r   rb  r   r   r   rc  rd  Nr0  )rv   	send_pollr=   )rM   rY  rZ  r   rB   r[  r\  r]  r   r   r^  r_  r`  ra  rb  r   r   r   r   rc  rd  r   r   r   r   ro   rp   rq   rr   rE   s                                 rO   rf  z_ChatBase.send_poll  s[    V .T\\^-- 
GG

 
 &	

 
 %<
 0
  
 "6
 !4
 .
 &
 &
 (
 ,
  &!
" 0#
$ "6%
& $'
( $:)
* $+
, "-
. "/
0 )D1
2 "63
4 ,5
6 07
8 $:9
: !4;
< 0=
 
 	
 
s   BBB	Bfrom_chat_idvideo_start_timestampr0   c                   K   | j                         j                  | j                  |||||||||
|||||||||	||||       d{   S 7 w)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   rg  r   r   rh  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   Nrv   copy_messager=   )rM   rg  r   r   r   r   r   r   r   r   r   r   r   rh  r   r   r   r   ro   rp   rq   rr   rE   s                          rO   	send_copyz_ChatBase.send_copy	  sz     L \\^00GG%!"7!-!5 3-(C%%'+%!+/%=!5%=&?/ 1 
 
 	
 
r   c                   K   | j                         j                  | j                  |||||||||
|||||||||	||||       d{   S 7 w)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.

        )rg  ru   r   r   rh  r   r   r   r   r   r   r   ro   rp   rq   rr   rE   r   r   r   r   r   r   Nrj  )rM   ru   r   r   r   r   r   r   r   r   r   r   r   rh  r   r   r   r   ro   rp   rq   rr   rE   s                          rO   rk  z_ChatBase.copy_messageE	  sz     L \\^00!"7!-!5 3-(C%%'+%!+/%=!5%=&?/ 1 
 
 	
 
r   remove_caption)r0   .c                   K   | j                         j                  | j                  ||||||||	|
|||       d{   S 7 w)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   rg  r   r   r   r   rn  ro   rp   rq   rr   rE   r   Nrv   copy_messagesr=   )rM   rg  r   r   r   r   rn  r   ro   rp   rq   rr   rE   s                rO   send_copiesz_ChatBase.send_copies	  s[     > \\^11GG%#!5+/)%'+%!%= 2 
 
 	
 
   :AAAc                   K   | j                         j                  | j                  ||||||||	|
|||       d{   S 7 w)a  Shortcut for::

             await bot.copy_messages(from_chat_id=update.effective_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.

        )rg  ru   r   r   r   r   rn  ro   rp   rq   rr   rE   r   Nrp  )rM   ru   r   r   r   r   rn  r   ro   rp   rq   rr   rE   s                rO   rq  z_ChatBase.copy_messages	  s[     > \\^11#!5+/)%'+%!%= 2 
 
 	
 
rs  c	                   K   | j                         j                  | j                  |||||	|
|||||||       d{   S 7 w)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   rg  r   rh  r   ro   rp   rq   rr   rE   r   r   r   r   Nrv   forward_messager=   )rM   rg  r   r   r   r   rh  r   r   ro   rp   rq   rr   rE   s                 rO   forward_fromz_ChatBase.forward_from	  s^     > \\^33GG%!"7!5%'+%!+/%=&? 4 
 
 	
 
   ;AAAc	                   K   | j                         j                  | j                  |||||	|
|||||||       d{   S 7 w)a  Shortcut for::

             await bot.forward_message(from_chat_id=update.effective_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.

        )rg  ru   r   rh  r   ro   rp   rq   rr   rE   r   r   r   r   Nrv  )rM   ru   r   r   r   r   rh  r   r   ro   rp   rq   rr   rE   s                 rO   
forward_toz_ChatBase.forward_to
  s_     @ \\^33!"7!5%'+%!+/%=&? 4 
 
 	
 
ry  c                   K   | j                         j                  | j                  ||||||||	|
||       d{   S 7 w)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   rg  r   r   r   r   ro   rp   rq   rr   rE   r   Nrv   forward_messagesr=   )rM   rg  r   r   r   r   r   ro   rp   rq   rr   rE   s               rO   forward_messages_fromz_ChatBase.forward_messages_fromD
  sX     < \\^44GG%#!5+/%'+%!%= 5 
 
 	
 
   9AA Ac                   K   | j                         j                  | j                  ||||||||	|
||       d{   S 7 w)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.

        )rg  ru   r   r   r   r   ro   rp   rq   rr   rE   r   Nr}  )rM   ru   r   r   r   r   r   ro   rp   rq   rr   rE   s               rO   forward_messages_toz_ChatBase.forward_messages_toq
  sX     < \\^44#!5+/%'+%!%= 5 
 
 	
 
r  c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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
  sF     , \\^;;GG%'+%! < 
 
 	
 
rz   expire_datemember_limitcreates_join_requestr   c                   K   | j                         j                  | j                  |||||||	||
       d{   S 7 w)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
  sR     < \\^;;GG#%%'+%!!5 < 
 
 	
 
r   invite_linkc                   K   | j                         j                  | j                  |||||||	|
||       d{   S 7 w)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
  sU     < \\^99GG##%%'+%!!5 : 
 
 	
 
s   8A?Ac          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_link  sI     . \\^;;GG#%'+%! < 
 
 	
 
r   subscription_periodsubscription_pricec                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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_link5  sP     4 \\^HHGG 31%'+%! I 

 

 
	
 

r   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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[  sM     4 \\^FFGG#%'+%! G 	
 	
 		
 	
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  I     . \\^==GG%'+%! > 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  r   menu_buttonc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sI     6 \\^88GG#%'+%! 9 
 
 	
 
r   
icon_coloricon_custom_emoji_idc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     0 \\^66GG!!5%'+%! 7 

 

 
	
 

r   c                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     0 \\^44GG/!5%'+%! 5 

 

 
	
 

r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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/  sI     , \\^55GG/%'+%! 6 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_topicO  I     , \\^66GG/%'+%! 7 
 
 	
 
r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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_topico  r  r   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sJ     . \\^BBGG/%'+%! C 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  sG     , \\^JJGG%'+%! K 
 
 	
 
rz   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sI     0 \\^<<GG%'+%! = 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  sF     * \\^==GG%'+%! > 
 
 	
 
rz   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  F     . \\^>>GG%'+%! ? 
 
 	
 
rz   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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/  F     * \\^<<GG%'+%! = 
 
 	
 
rz   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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_topicM  r  rz   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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_buttonm  sF     4 \\^88GG%'+%! 9 
 
 	
 
rz   r5   c          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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  sI     , \\^88GG!%'+% 9 
 
 	
 
r   reactionis_bigc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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  sO     0 \\^88GG!%'+%! 9 

 

 
	
 

r   )r   r   ro   rp   rq   rr   rE   
star_countr)   c                   K   | j                         j                  | j                  |||||||||	|
|||||||||||||       d{   S 7 w)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GG!!-%=!5+-%(C 3%'+%!#9!5%=&?/1 4 
 
 	
 
rX  gift_idr"   text_parse_modetext_entitiespay_for_upgradec                   K    | j                         j                  d|||||||||	|
d
| j                  t        j                  k(  rdnd| j
                  i d{   S 7 w)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   Nr0  )rv   	send_giftrB   ChatrU   r=   )rM   r  r   r  r  r  ro   rp   rq   rr   rE   s              rO   r  z_ChatBase.send_gift  su     H .T\\^-- 
+'+%'+%!
 !II5y9dggN
 
 	
 
s   AA#A!A#owned_gift_idc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)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_giftH  sO     . \\^11"gg#9'!%'+%! 2 

 

 
	
 

r   custom_descriptionc          	      ~   K   | j                         j                  | j                  ||||||       d{   S 7 w)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.verifyk  sI     , \\^//GG1%'+%! 0 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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  rz   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sL     . \\^99GG#9!%'+%! : 	
 	
 		
 	
r   	send_datec          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sL     0 \\^::GG!%'+%! ; 	
 	
 		
 	
r   commentc          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)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  sL     0 \\^::GG!%'+%! ; 	
 	
 		
 	
r   )NNNNNN)N)NN)NNNNNNNNNNNNNNNN)NNNN)__name__
__module____qualname____doc__	__slots__intstrr   boolr   rH   r	   rJ   rQ   r   __annotations__rR   rS   rT   rU   propertyrZ   rX   r]   r   rl   r   r   r   floatry   tupler}   r   rI   r   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  objectr1  r:  r?  rB  rJ  rP  rT  rW  r   rf  rl  rk  rr  rq  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  r  __classcell__)rN   s   @rO   r;   r;   S   sH   
	I  $"&$(#'#'-1 *.  }	
 3- SM C= 4. %TN X&: #++22FE#J2 $,,44GU3Z46!**00E5:04&//::Jc
:9#,,44GU3Z46   #8C= # # hsm  $LXc] $Lc $LLL L LBL# L# LF )5)5+7(4)-
 uo
  	

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 )5)5+7(4)-
SM
 !)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 "$+
 $C=+
 #+3-+
 uo+
  +
 "%+
 uo+
 X&+
 
	 +
` )5)5+7(4)-
 uo
  	

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

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

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

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

 )5)5+7(4)-#
3 001#
 sm#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  
 "%
 uo
 X&
 

F \`!%	"
 )5)5+7(4)-"
"
 5%c0A*B!C\SV!VWX"
 	"
 uo"
  "
 "%"
 uo"
 X&"
 
"
P "&$0@D37/;*68<.204!%/326IM+/#@
& 7C-1(4)5+7(4)-3@
@
 ()@
 #	@

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

   9:0
 "$0
 uo0
  0
 "%0
 uo0
 X&0
 
0
l %)	!
 )5)5+7(4)-!
 #!
 !
 SM	!
 uo!
  !
 "%!
 uo!
 X&!
 
!
J -1
 )5)5+7(4)-
$SM
 uo	

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

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

 uo 
   
 "% 
 uo 
 X& 
 
 
J 9=!

 )5)5+7(4)-!
!
 E#s||"345!

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

 )5)5+7(4)-!
!
 #!

 uo!
  !
 "%!
 uo!
 X&!
 
!
 !
rP   r;   c                       e Zd ZdZdZy)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
    r0  N)r  r  r  r  r  r0  rP   rO   r  r    s    ;z IrP   r  )Lr  r  r  collections.abcr   htmlr   typingr   r   r   r   telegramr	   telegram._chatpermissionsr
   telegram._forumtopicr   telegram._menubuttonr   telegram._reactionr   telegram._telegramobjectr   telegram._utilsr   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r;   r  r0  rP   rO   <module>r     s   ( F  $  8 8  5 + + + 3   5  > , A I       D|:
 |:
~u>9 >rP   