
    /jzr                       d Z ddlZddlmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZmZ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rPddl
m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL ddlmMZM  G d de      ZN G d deN      ZOy)z?This module contains an object that represents a Telegram Chat.    N)Sequence)escape)TYPE_CHECKINGFinal)	constants)ChatPermissions)
ForumTopic)
MenuButton)ReactionType)TelegramObject)enum)DEFAULT_NONE)CorrectOptionIDCorrectOptionIds	FileInputJSONDictODVInput
TimePeriod)get_full_nameget_link)escape_markdown)mention_html)mention_markdown)#	AnimationAudioChatInviteLink
ChatMemberContactDocumentGiftInlineKeyboardMarkupInputChecklistInputMediaAudioInputMediaDocumentInputMediaLivePhotoInputMediaPhotoInputMediaVideoInputPaidMediaInputPollMediaInputPollOptionLabeledPriceLinkPreviewOptions	LivePhotoLocationMessageMessageEntity	MessageId
OwnedGifts	PhotoSizeReplyParametersStickerStorySuggestedPostParametersUserChatBoostsVenueVideo	VideoNoteVoice)ReplyMarkupc            V       (7    e Zd ZU dZdZ	 	 	 	 	 	 dTdddedededz  dedz  d	edz  d
edz  dedz  dedz  dedz  f fdZ	e
j                  j                  Zee   ed<   	 e
j                  j                  Zee   ed<   	 e
j                  j                   Zee   ed<   	 e
j                  j"                  Zee   ed<   	 e
j                  j$                  Zee   ed<   	 ededz  fd       Zededz  fd       Zededz  fd       ZdUdedz  defdZdUdedz  defdZdUdedz  defdZeeeedddee   dee   dee   d ee   dedz  defd!Z	 dUeeeeddd"edz  dee   dee   dee   d ee   dedz  ded#   fd$Zeeeedddee   dee   dee   d ee   dedz  defd%Z eeeeddd&edee   dee   dee   d ee   dedz  dd'fd(Z!	 	 dVeeeeddd&ed)edz  d*ee"jF                  z  dz  dee   dee   dee   d ee   dedz  defd+Z$eeeeddd,edee   dee   dee   d ee   dedz  defd-Z%eeeeddd.eez  dee   dee   dee   d ee   dedz  defd/Z&eeeeddd,edee   dee   dee   d ee   dedz  defd0Z'eeeeddd.eez  dee   dee   dee   d ee   dedz  defd1Z(	 dUeeeeddd&ed2edz  dee   dee   dee   d ee   dedz  defd3Z)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dWeeeeddd&ed4edz  d5edz  d6edz  d7edz  d8edz  d9edz  d:edz  d;edz  d<edz  d=edz  d>edz  d?edz  d@edz  dAedz  dBedz  dCedz  dDedz  dee   dee   dee   d ee   dedz  def0dEZ*	 	 dVeeeeddd&edFe+d*ee"jF                  z  dz  dGedz  dee   dee   dee   d ee   dedz  defdHZ,	 dUeeeedddFe+dGedz  dee   dee   dee   d ee   dedz  defdIZ-eeeeddd&edJedee   dee   dee   d ee   dedz  defdKZ.eeeedddLe/dee   dee   dee   d ee   dedz  defdMZ0eeeedddee   dee   dee   d ee   dedz  defdNZ1eeeedddedee   dee   dee   d ee   dedz  defdOZ2	 dUeeeedddPedz  dee   dee   dee   d ee   dedz  defdQZ3edfeeeedddRedSee   dTedz  dee   dee   dee   d ee   dedz  defdUZ4	 	 dVeeeedddRedz  dTedz  dee   dee   dee   d ee   dedz  defdVZ5eeeedddee   dee   dee   d ee   dedz  defdWZ6eeddededdddddfdedeeeeddXdYedZee   dSee   d[d\d]e7d^   dz  d_ee   d`edz  daedb   dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dledz  dee   dee   dee   d ee   dedz  ddmf.dnZ8ddedfeeeedddoedYedz  d`edz  dZee   d]e7d^   dz  dee   dee   dee   d ee   dedz  defdpZ9eeeedddRedee   dee   dee   d ee   dedz  defdqZ:eeeedddre7e   dee   dee   dee   d ee   dedz  defdsZ;eeddddddfdeeeeeddeddt
due7dv   dSee   d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  djedz  dkee   dee   dee   dee   d ee   dedz  dwedz  dZee   dxe7d^   dz  dedy   f(dzZ<	 	 dVeeeeddd{ed`edz  dTedz  dee   dee   dee   d ee   dedz  defd|Z=e=Z>	 dedededddddddddfdedeeeedd}dLd~dwedz  dSee   d[d\dZee   dxe7d^   dz  d_ee   d`edz  dedz  dcdddTedz  deedz  dfedz  dedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf2dZ?ddddedddeedddddfeddeeeedddddLd~dTedz  d`edz  dgedz  dwedz  dZee   dxe7d^   dz  dedz  dedz  dSee   d_ee   dfedz  deedz  dhdidcddd[d\dkee   djedz  dedz  dee   dee   dee   d ee   dedz  ddmf4dZ@dddeddedddddddfdedeeeedddedz  d	edz  d
edz  dSee   d[d\dedz  d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dddee   dee   dee   d ee   dedz  ddmf.dZAddddedededdddddddfdedeeeedd}dddeBdz  dedz  dedz  dwedz  dSee   d[d\dZee   dxe7d^   dz  d_ee   d`edz  dddcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf6dZCdededdeddddddddfdedeeeedd}dddwedz  dSee   d[d\dZee   dedz  dxe7d^   dz  d_ee   d`edz  dddcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf2dZDededdfdeeeeedddTedddSee   d[dd_ee   dcdddeedz  djedz  dkee   dee   dee   dee   d ee   dedz  ddmfdZEeddedddddddfdeeeeedddSee   d[d\dedz  d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dee   dee   dee   d ee   dedz  ddmf&dZFededddddfdeeeeedddedSee   d[dd_ee   d`edz  dcdddTedz  deedz  dfedz  djedz  dkee   dee   dee   dee   d ee   dedz  ddmf"dZGd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dPededede7d   dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dedz  dSee   d[ddeeHz  dz  dedz  dedz  dedz  de7e   dz  d_ee   d`edz  dcdddeedz  dfedz  dgedz  dhdidjedz  dkee   dee   dee   dee   d ee   dedz  ddmfLdZIddedddddedddddddfdedeeeedddedz  dedz  dSee   d[d\deBdz  dedz  dedz  dedz  d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dddee   dee   dee   d ee   dedz  ddmf2dZJddddeeddeddddddddddfdedeeeedd}dddeBdz  dedz  dedz  dwedz  dZee   dSee   d[d\dxe7d^   dz  d_ee   d`edz  dedz  dddcdddTedz  deedz  dfedz  dedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf:dĄZKededdddddddfdeeeeedddddSee   d[d\d_ee   d`edz  dedz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dee   dee   dee   d ee   dedz  ddmf(dǄZLdddddeddddedddddddfdedeeeeddȜdedz  dedz  dedz  dedz  dedz  dSee   d[d\dedz  dedz  dedz  d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dddee   dee   dee   d ee   dedz  ddmf6dЄZMddedddeddeddddddddddddfdedeeeedd}dddeBdz  dwedz  dSee   d[d\dedz  dedz  dZee   dedz  dxe7d^   dz  d_ee   d`edz  dedz  dddcdddTedz  deedz  dfedz  dedz  dddedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf@dքZNddededdddddddfdedeeeedd}dddeBdz  dedz  dSee   d[d\d_ee   d`edz  dddcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf.dڄZOddedededddddddfdedeeeedd}dddeBdz  dwedz  dSee   d[d\dZee   dxe7d^   dz  d_ee   d`edz  dcdddTedz  deedz  dfedz  dgedz  dhdidjedz  dkee   dedz  dee   dee   dee   d ee   dedz  ddmf0d݄ZPdddddeddedddedddedddddddddddddddf deeeeedddede7d   d<edz  dedz  dedz  deQdz  dedz  dSee   d[d\dedz  dee   deBdz  dee"jF                  z  dz  de7d^   dz  d_ee   d`edz  dcdddTedz  dee   de7d^   dz  deedz  dfedz  dedz  dedz  deRdz  dedz  dedz  dPedz  dee   dz  de7d^   dz  dedz  de7e   dz  ddduddjedz  dkee   dee   dee   dee   d ee   dedz  ddmfTdZSdedededdddddddfdeeeeedddeez  dRedwedz  dZee   dxe7d^   dz  dSee   d[d\d_ee   d`edz  dcdddedz  dfedz  dedz  dgedz  dhdideedz  djedz  dkee   dee   dee   dee   d ee   dedz  ddf0dZTdedededdddddddfdeeeeeddd.eez  dRedwedz  dZee   dxe7d^   dz  dSee   d[d\d_ee   d`edz  dcdddedz  dfedz  dedz  dgedz  dhdideedz  djedz  dkee   dee   dee   dee   d ee   dedz  ddf0dZUeedddfeeeedddeez  dre7e   dSee   d_ee   d`edz  dedz  dgedz  dee   dee   dee   d ee   dedz  ded   fdZVeedddfeeeeddd.eez  dre7e   dSee   d_ee   d`edz  dedz  dgedz  dee   dee   dee   d ee   dedz  ded   fdZWeedddddfeeeedddeez  dRedSee   d_ee   d`edz  dedz  dgedz  dhdideedz  dee   dee   dee   d ee   dedz  ddmfd ZXeedddddfeeeeddd.eez  dRedSee   d_ee   d`edz  dedz  dgedz  dhdideedz  dee   dee   dee   d ee   dedz  ddmfdZYeeddfeeeedddeez  dre7e   dSee   d_ee   d`edz  dgedz  dee   dee   dee   d ee   dedz  ded   fdZZeeddfeeeeddd.eez  dre7e   dSee   d_ee   d`edz  dgedz  dee   dee   dee   d ee   dedz  ded   fdZ[eeeedddee   dee   dee   d ee   dedz  defdZ\	 	 	 	 dXeeeedddee"jF                  z  dz  dedz  dedz  dedz  dee   dee   dee   d ee   dedz  ddfd	Z]	 	 	 	 dXeeeeddd
ddee"jF                  z  dz  dedz  dedz  dedz  dee   dee   dee   d ee   dedz  ddfdZ^eeeeddd
ddee   dee   dee   d ee   dedz  ddfdZ_	 dUeeeedddeBdededz  dee   dee   dee   d ee   dedz  ddfdZ`	 dUeeeeddd
ddedz  dee   dee   dee   d ee   dedz  ddfdZaeeeeddd&edee   dee   dee   d ee   dedz  defdZbeeeeddd&edee   dee   dee   d ee   dedz  defdZc	 dUeeeedddeddz  dee   dee   dee   d ee   dedz  defdZe	 	 dVeeeedddededz  dedz  dee   dee   dee   d ee   dedz  deffdZg	 	 dVeeeeddd`ededz  dedz  dee   dee   dee   d ee   dedz  defdZheeeeddd`edee   dee   dee   d ee   dedz  defdZieeeeddd`edee   dee   dee   d ee   dedz  defdZjeeeeddd`edee   dee   dee   d ee   dedz  defdZkeeeeddd`edee   dee   dee   d ee   dedz  defdZleeeedddee   dee   dee   d ee   dedz  defdZmeeeedddedee   dee   dee   d ee   dedz  defdZneeeedddee   dee   dee   d ee   dedz  defd Zoeeeedddee   dee   dee   d ee   dedz  defd!Zpeeeedddee   dee   dee   d ee   dedz  defd"Zqeeeedddee   dee   dee   d ee   dedz  defd#Zreeeedddee   dee   dee   d ee   dedz  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dz  dd%fd&Zt	 	 dVeeeedddRed'e7euez     euz  ez  dz  d(edz  dee   dee   dee   d ee   dedz  defd)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due7d,   dwedz  dZee   dxe7d^   dz  dedz  dSee   d_ee   dcddd[d\dTedz  dedz  dfedz  dgedz  dhdid`edz  dkee   djedz  dee   dee   dee   d ee   dedz  ddmf0d-Zwdeddfeeeeddd.d/dYedz  d0ee   d1e7d^   dz  d2edz  dee   dee   dee   d ee   dedz  defd3Zx	 dUeeeedddTed4ed+edz  dee   dee   dee   d ee   dedz  defd5Zy	 dUeeeeddd6edz  dee   dee   dee   d ee   dedz  defd7Zzeeeedddee   dee   dee   d ee   dedz  defd8Z{eeeedddTedRedee   dee   dee   d ee   dedz  defd9Z|	 dUeeeedddRed:ee"jF                  z  dz  dee   dee   dee   d ee   dedz  defd;Z}	 dUeeeedddRed<edz  dee   dee   dee   d ee   dedz  defd=Z~defeeeedddTed>ed?eBd@edz  d_ee   dee   dee   dee   d ee   dedz  ddAfdBZ	 	 	 	 	 	 	 	 	 	 dYeeeedddCedz  dDedz  dEedz  dFedz  dGedz  dHedz  dIedz  dJedz  dKedz  dLedz  dee   dee   dee   d ee   dedz  ddMf dNZ	 dUeeeeddd&edOedz  dee   dee   dee   d ee   dedz  defdPZ	 	 dVeeeedddRed&edz  dQedz  dee   dee   dee   d ee   dedz  defdRZ	 	 dVeeeeddd&edz  dQedz  dee   dee   dee   d ee   dedz  defdSZ xZS (Z  	_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_kwargsrA   rF   rE   rG   r@   rD   rC   rB   rI   c	                    t         
|   |	       || _        t        j                  t
        j                  ||      | _        || _        || _	        || _
        || _        || _        || _        | j                  f| _        | j                          y )NrH   )super__init__rA   r   
get_memberr   ChatTyperF   rE   rG   r@   rD   rC   rB   	_id_attrs_freeze)selfrA   rF   rE   rG   r@   rD   rC   rB   rI   	__class__s             L/var/www/html/maxservice/venv/lib/python3.12/site-packages/telegram/_chat.pyrL   z_ChatBase.__init__j   sw     	J/););T4H	!&
$,&0%.%-/A''    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)rE   	full_namerQ   s    rS   effective_namez_ChatBase.effective_name   s/     ::!::>>%>>!rT   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   r]   s    rS   r\   z_ChatBase.full_name   s     T""rT   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   r]   s    rS   linkz_ChatBase.link   s    
 ~rT   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)	rF   rV   helpers_mention_markdownrA   r\   	TypeErrorrG   ra   rE   rQ   rb   s     rS   r   z_ChatBase.mention_markdown   s    0 99$/>>~~/HH[\\==4&499+Q//zz4::,b155UVVJKKrT   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`.

           )versionrd   re   rf   rg   rh   ri   )
rF   rV   rj   rA   r\   rk   rG   r   ra   rE   rl   s     rS   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KrT   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`.

        rd   z	<a href="z">z</a>rh   ri   )
rF   rV   helpers_mention_htmlrA   r\   rk   rG   ra   r   rE   rl   s     rS   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KrT   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutrI   rs   rt   ru   rv   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_idrs   rt   ru   rv   rI   N)get_bot
leave_chatrA   rQ   rs   rt   ru   rv   rI   s         rS   leavez_ChatBase.leave  sF     & \\^..GG%'+%! / 
 
 	
 
   3<:<return_bots)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.

        )ry   r   rs   rt   ru   rv   rI   N)rz   get_chat_administratorsrA   )rQ   r   rs   rt   ru   rv   rI   s          rS   get_administratorsz_ChatBase.get_administrators;  sI     0 \\^;;GG#%'+%! < 
 
 	
 
   4=;=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`
        rx   N)rz   get_chat_member_countrA   r|   s         rS   get_member_countz_ChatBase.get_member_count]  sF     & \\^99GG%'+%! : 
 
 	
 
r~   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`

        ry   r   rs   rt   ru   rv   rI   N)rz   get_chat_memberrA   rQ   r   rs   rt   ru   rv   rI   s          rS   rM   z_ChatBase.get_membery  sI     ( \\^33GG%'+%! 4 
 
 	
 
r   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.
        )	ry   r   rs   rt   ru   rv   r   rI   r   N)rz   ban_chat_memberrA   )	rQ   r   r   r   rs   rt   ru   rv   rI   s	            rS   
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.

        ry   r   rs   rt   ru   rv   rI   Nrz   ban_chat_sender_chatrA   rQ   r   rs   rt   ru   rv   rI   s          rS   ban_sender_chatz_ChatBase.ban_sender_chat  sI     . \\^88GG)%'+%! 9 
 
 	
 
r   ry   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   rQ   ry   rs   rt   ru   rv   rI   s          rS   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rz   unban_chat_sender_chatrA   r   s          rS   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          rS   
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.

        )ry   r   rs   rt   ru   rv   rI   r   N)rz   unban_chat_memberrA   )rQ   r   r   rs   rt   ru   rv   rI   s           rS   unban_memberz_ChatBase.unban_memberA  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_messagescan_manage_tagsc                   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.

        )ry   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r   r   r   r   r   r   r   N)rz   promote_chat_memberrA   )rQ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                           rS   promote_memberz_ChatBase.promote_membera  s}     ^ \\^77GG+// 3-!5- 3%'+%!%+#9/--1'A+1 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.

        )
ry   r   r   r   r   rs   rt   ru   rv   rI   N)rz   restrict_chat_memberrA   )
rQ   r   r   r   r   rs   rt   ru   rv   rI   s
             rS   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.

        )ry   r   r   rs   rt   ru   rv   rI   N)rz   set_chat_permissionsrA   )rQ   r   r   rs   rt   ru   rv   rI   s           rS   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.

        )ry   r   r   rs   rt   ru   rv   rI   N)rz   #set_chat_administrator_custom_titlerA   )rQ   r   r   rs   rt   ru   rv   rI   s           rS   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.

        )ry   r   rs   rt   ru   rv   rI   N)rz   set_chat_photorA   )rQ   r   rs   rt   ru   rv   rI   s          rS   	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.

        rx   N)rz   delete_chat_photorA   r|   s         rS   delete_photoz_ChatBase.delete_photo?  sF     0 \\^55GG%'+%! 6 
 
 	
 
r~   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.

        )ry   rE   rs   rt   ru   rv   rI   N)rz   set_chat_titlerA   )rQ   rE   rs   rt   ru   rv   rI   s          rS   	set_titlez_ChatBase.set_title`  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.

        )ry   r   rs   rt   ru   rv   rI   N)rz   set_chat_descriptionrA   )rQ   r   rs   rt   ru   rv   rI   s          rS   set_descriptionz_ChatBase.set_description  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.

        )	ry   r   r   rs   rt   ru   rv   rI   r   N)rz   pin_chat_messagerA   )	rQ   r   r   r   rs   rt   ru   rv   rI   s	            rS   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.

        )ry   rs   rt   ru   rv   rI   r   r   N)rz   unpin_chat_messagerA   )rQ   r   r   rs   rt   ru   rv   rI   s           rS   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.

        rx   N)rz   unpin_all_chat_messagesrA   r|   s         rS   unpin_all_messagesz_ChatBase.unpin_all_messages  sF     ( \\^;;GG%'+%! < 
 
 	
 
r~   )reply_to_message_idallow_sending_without_replydisable_web_page_previewrs   rt   ru   rv   rI   text
parse_modereply_markupzReplyMarkup | Noneentitiesr0   protect_contentmessage_thread_idlink_preview_optionsr,   reply_parameterszReplyParameters | Nonemessage_effect_idallow_paid_broadcastdirect_messages_topic_idsuggested_post_parameterszSuggestedPostParameters | Noner   r   r   r/   c                   K   | j                         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.

        )ry   r   r   r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r   r   r   N)rz   send_messagerA   )rQ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                          rS   r   z_ChatBase.send_message  sz     H \\^00GG!%=!5 3!5-%(C+/%'+%!#9/!5%=&?/ 1 
 
 	
 
   AAAAdraft_idc                   K   | j                         j                  | j                  |||||||||	|
       d{   S 7 w)a  Shortcut for::

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

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

        .. versionchanged:: 22.8
            Bot API 10.0 makes the ``text`` argument optional.

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

        )ry   r   r   r   r   r   rs   rt   ru   rv   rI   N)rz   send_message_draftrA   )rQ   r   r   r   r   r   rs   rt   ru   rv   rI   s              rS   r   z_ChatBase.send_message_draftE  sU     6 \\^66GG/!%'+%! 7 
 
 	
 
   8A?A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.

        )ry   r   rs   rt   ru   rv   rI   N)rz   delete_messagerA   )rQ   r   rs   rt   ru   rv   rI   s          rS   r   z_ChatBase.delete_messagen  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.

        )ry   r   rs   rt   ru   rv   rI   N)rz   delete_messagesrA   )rQ   r   rs   rt   ru   rv   rI   s          rS   r   z_ChatBase.delete_messages  sI     , \\^33GG#%'+%! 4 
 
 	
 
r   )
r   r   rs   rt   ru   rv   rI   captionr   caption_entitiesmediaz^InputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideo | InputMediaLivePhotor   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.

        )ry   r  r   r   rs   rt   ru   rv   rI   r   r   r   r   r   r   r   r   r   r   r   N)rz   send_media_grouprA   )rQ   r  r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r   s                       rS   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.

        )	ry   r  r   rs   rt   ru   rv   rI   r   N)rz   send_chat_actionrA   )	rQ   r  r   r   rs   rt   ru   rv   rI   s	            rS   r  z_ChatBase.send_chat_action  sO     , \\^44GG/%'+%!#9 5 

 

 
	
 

r   )r   r   filenamers   rt   ru   rv   rI   zFileInput | PhotoSize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.

        )ry   r   r   r   r   r   r   r   r   r   r  r   r   rs   rt   ru   rv   rI   r	  r   r   r   r
  r   r   N)rz   
send_photorA   )rQ   r   r   r   r   r   r   r   r   r	  r   r   r   r   r
  r   r   r   r   r  rs   rt   ru   rv   rI   s                            rS   r  z_ChatBase.send_photo  s     L \\^..GG!5 3-%!(C-+/%'+%!##9/!5%=%=&?3 / 
 
 	
 
   AAA	A)r   r   r  rs   rt   ru   rv   rI   
live_photozFileInput | LivePhotoc                   K   | j                         j                  | j                  |||||||||	|
|||||||||||||||       d{   S 7 w)a\  Shortcut for::

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

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

        .. versionadded:: 22.8

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

        )ry   r  r   r   r   r   r   r   r   r
  r	  r   r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   N)rz   send_live_photorA   )rQ   r  r   r   r   r   r   r   r   r
  r	  r   r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                             rS   r  z_ChatBase.send_live_photoP  s     R \\^33GG!#9/%=!-%=#!5+!5/&?-%(C 3%'+%!5 4 
 
 	
 
s   AA	A
A)r   r   contactrs   rt   ru   rv   rI   phone_numbervcardr  zContact | Nonec                   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.

        )ry   r  r@   rD   r   r   r   r   rs   rt   ru   rv   r  r  rI   r   r   r   r   r   r   r   r   N)rz   send_contactrA   )rQ   r  r@   rD   r   r   r  r   r   r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                          rS   r  z_ChatBase.send_contact  sz     H \\^00GG%!!5 3-%%'+%!(C+/#9/!5%=&?/ 1 
 
 	
 
r   audiozFileInput | Audioduration	performer	thumbnailzFileInput | Nonec                   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.

        )ry   r  r  r  rE   r   r   r   r   r   r   r   r   r  r   r   rs   rt   ru   rv   rI   r  r   r   r   r   r   N)rz   
send_audiorA   )rQ   r  r  r  rE   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                              rS   r  z_ChatBase.send_audio  s     P \\^..GG!5 3-%!(C-+/%'+%!#9/!5%=&?7 / 
 
 	
 
   AA
AAdocumentzFileInput | Document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.

        )ry   r  r  r   r   r   r   r   rs   rt   ru   rv   r   r  rI   r  r   r   r   r   r   r   r   r   r   N)rz   send_documentrA   )rQ   r  r   r   r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                            rS   r   z_ChatBase.send_document  s     L \\^11GG!5 3-%%'+%!!+I(C-+/#9/!5%=&?3 2 
 
 	
 
r  )r   r   rs   rt   ru   rv   rI   	checklistr"   zInlineKeyboardMarkup | Nonec                   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.

        )ry   r   r!  r   r   r   r   r   r   r   rs   rt   ru   rv   rI   N)rz   send_checklistrA   )rQ   r   r!  r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                  rS   r#  z_ChatBase.send_checklist\  sa     < \\^22GG#9!5+/-% 3(C%'+%! 3 
 
 	
 
   <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.

        )ry   r   r   r   r   rs   rt   ru   rv   r%  rI   r   r   r   r   r   r   r   r   N)rz   	send_dicerA   )rQ   r   r   r%  r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                      rS   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.

        )ry   r(  r   r   r   r   rs   rt   ru   rv   rI   r   r   r   r   r   r   N)rz   	send_gamerA   )rQ   r(  r   r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                    rS   r*  z_ChatBase.send_game  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.

        ry   rE   r   r+  r.  r,  r-  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r   r   r   r9  r:  r;  rs   rt   ru   rv   rI   r   r<  r=  r   r   r   r   r   r   r   N )rz   send_invoicerA   )&rQ   rE   r   r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r   r   r9  r:  r;  r<  r=  r   r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s&                                         rS   r@  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   locationrs   rt   ru   rv   rI   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusrA  zLocation | Nonec                   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.

        )ry   rB  rC  r   r   r   r   rs   rt   ru   rv   rA  rD  rI   rE  rF  rG  r   r   r   r   r   r   r   r   N)rz   send_locationrA   )rQ   rB  rC  r   r   rD  rE  rF  rG  r   r   r   r   r   r   r   r   r   r   rA  rs   rt   ru   rv   rI   s                            rS   rI  z_ChatBase.send_locationZ  s     L \\^11GG!5 3-%%'+%#! 3#9(C+/#9/!5%=&?3 2 
 
 	
 
r  	animationzFileInput | Animation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.

        ry   rJ  r  rK  rL  r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r  r   r   r	  r  r   r   r   r
  r   r   Nr?  )rz   send_animationrA   )rQ   rJ  r  rK  rL  r   r   r   r   r   r   r   r	  r  r   r   r   r   r
  r   r   r   r   r  rs   rt   ru   rv   rI   s                                rS   rN  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stickerzFileInput | Stickerc                   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.

        )ry   rO  r   r   r   r   rs   rt   ru   rv   rI   r   r   r   r%  r   r   r   r   r   N)rz   send_stickerrA   )rQ   rO  r   r   r   r   r%  r   r   r   r   r   r   r   r   rs   rt   ru   rv   rI   s                       rS   rQ  z_ChatBase.send_sticker  sq     B \\^00GG!5 3-%%'+%!(C+/#9/!5%=&?) 1 
 
 	
 
r  )r   r   venuers   rt   ru   rv   rI   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typerR  zVenue | Nonec                   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.

        )ry   rB  rC  rE   rS  rT  r   r   r   r   rs   rt   ru   rv   rR  rU  rI   rV  rW  r   r   r   r   r   r   r   r   N)rz   
send_venuerA   )rQ   rB  rC  rE   rS  rT  r   r   rU  rV  rW  r   r   r   r   r   r   r   r   r   r   rR  rs   rt   ru   rv   rI   s                              rS   rY  z_ChatBase.send_venue  s     P \\^..GG'!5 3-%%'+%+!+/(C+/#9/!5%=&?7 / 
 
 	
 
r  videozFileInput | Video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.

        ry   rZ  r  r   r   r   r   r   rs   rt   ru   rv   rK  rL  r   r[  r  r\  r]  rI   r   r   r  r   r   r	  r   r   r   r
  r   r   Nr?  )rz   
send_videorA   ) rQ   rZ  r  r   r   r   rK  rL  r   r[  r   r   r   r	  r  r   r   r   r   r
  r\  r]  r   r   r   r   r  rs   rt   ru   rv   rI   s                                    rS   r_  z_ChatBase.send_videod  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_notezFileInput | VideoNote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.

        )ry   r`  r  ra  r   r   r   r   rs   rt   ru   rv   r  rI   r   r  r   r   r   r   r   r   r   N)rz   send_video_noterA   )rQ   r`  r  ra  r   r   r   r   r  r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                          rS   rc  z_ChatBase.send_video_note  sz     H \\^33GG!!5 3-%%'+%!(C+/#9/!5%=&?/ 4 
 
 	
 
r   voicezFileInput | Voicec                   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.

        )ry   rd  r  r   r   r   r   r   rs   rt   ru   rv   r   rI   r   r   r  r   r   r   r   r   r   r   N)rz   
send_voicerA   )rQ   rd  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  rs   rt   ru   rv   rI   s                           rS   rf  z_ChatBase.send_voice  s}     J \\^..GG!5 3-%%'+%!!(C-+/#9/!5%=&?1 / 
 
 	
 
r   questionoptionszstr | InputPollOptionallows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesquestion_parse_modequestion_entitiesshuffle_optionsallows_revotingcorrect_option_idsallow_adding_optionshide_results_until_closesdescription_parse_modedescription_entitiesmembers_onlycountry_codesexplanation_mediazInputPollMedia | Nonec#                j  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'|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.

        ry   rg  rh  r   rF   ri  rj  rt  rs  ru  rk  r   r   r   r   rs   rt   ru   rv   r   r   rl  rm  rn  ro  rI   r   rp  r   r   r   rq  rr  r   rx  ry  rw  rv  rz  r{  r|  r  Nr?  )rz   	send_pollrA   )*rQ   rg  rh  r   rF   ri  rj  rk  r   r   rl  rm  rn  ro  rp  r   r   r   r   rq  rr  r   r   rs  rt  ru  rv  rw  r   rx  ry  rz  r{  r|  r  r   r   rs   rt   ru   rv   rI   s*                                             rS   r~  z_ChatBase.send_poll2	  s    n .T\\^-- +
GG+
+
 +
 &	+

 +
 %<+
 0+
 ,+
 ,+
  2+
  +
 "6+
 !4+
 .+
 &+
  &!+
" (#+
$ ,%+
& &'+
( 0)+
* "6++
, $-+
. $:/+
0 $1+
2 "3+
4 "5+
6 )D7+
8 "69+
: ,;+
< 0=+
> $:?+
@ !4A+
B 0C+
D $E+
F $:G+
H "6I+
J '@K+
L "6M+
N &O+
P (Q+
R 0S+
T U+
 +
 +	
 +
s   B*B3,B1-B3from_chat_idvideo_start_timestampr1   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.

        )ry   r  r   r   r  r   r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r
  r   r   r   r   Nrz   copy_messagerA   )rQ   r  r   r   r   r   r   r   r   r   r   r
  r   r  r   r   r   r   r   rs   rt   ru   rv   rI   s                           rS   	send_copyz_ChatBase.send_copy	  s}     N \\^00GG%!"7!-!5 3-(C%%'+%!+/%=!5%=&?/1 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.

        )r  ry   r   r   r  r   r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r   r
  r   r   r   r   Nr  )rQ   ry   r   r   r   r   r   r   r   r   r   r
  r   r  r   r   r   r   r   rs   rt   ru   rv   rI   s                           rS   r  z_ChatBase.copy_message	  s}     N \\^00!"7!-!5 3-(C%%'+%!+/%=!5%=&?/1 1 
 
 	
 
r   remove_caption)r1   .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.

        )ry   r  r   r   r   r   r  rs   rt   ru   rv   rI   r   Nrz   copy_messagesrA   )rQ   r  r   r   r   r   r  r   rs   rt   ru   rv   rI   s                rS   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.

        )r  ry   r   r   r   r   r  rs   rt   ru   rv   rI   r   Nr  )rQ   ry   r   r   r   r   r  r   rs   rt   ru   rv   rI   s                rS   r  z_ChatBase.copy_messagesI
  s[     > \\^11#!5+/)%'+%!%= 2 
 
 	
 
r  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.

        )ry   r  r   r  r   rs   rt   ru   rv   rI   r   r   r   r   r   Nrz   forward_messagerA   )rQ   r  r   r   r   r   r  r   r   r   rs   rt   ru   rv   rI   s                  rS   forward_fromz_ChatBase.forward_fromx
  sb     @ \\^33GG%!"7!5%'+%!+/%=&?/ 4 
 
 	
 
r$  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.

        )r  ry   r   r  r   rs   rt   ru   rv   rI   r   r   r   r   r   Nr  )rQ   ry   r   r   r   r   r  r   r   r   rs   rt   ru   rv   rI   s                  rS   
forward_toz_ChatBase.forward_to
  sb     B \\^33!"7!5%'+%!+/%=&?/ 4 
 
 	
 
r$  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.

        )ry   r  r   r   r   r   rs   rt   ru   rv   rI   r   Nrz   forward_messagesrA   )rQ   r  r   r   r   r   r   rs   rt   ru   rv   rI   s               rS   forward_messages_fromz_ChatBase.forward_messages_from
  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.

        )r  ry   r   r   r   r   rs   rt   ru   rv   rI   r   Nr  )rQ   ry   r   r   r   r   r   rs   rt   ru   rv   rI   s               rS   forward_messages_toz_ChatBase.forward_messages_to
  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.

        rx   N)rz   export_chat_invite_linkrA   r|   s         rS   export_invite_linkz_ChatBase.export_invite_link7  sF     , \\^;;GG%'+%! < 
 
 	
 
r~   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`

        )
ry   r  r  rs   rt   ru   rv   rI   rb   r  N)rz   create_chat_invite_linkrA   )
rQ   r  r  rb   r  rs   rt   ru   rv   rI   s
             rS   create_invite_linkz_ChatBase.create_invite_linkV  sR     < \\^;;GG#%%'+%!!5 < 
 
 	
 
r   invite_linkzstr | ChatInviteLinkc                   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`

        )ry   r  r  r  rs   rt   ru   rv   rI   rb   r  N)rz   edit_chat_invite_linkrA   )rQ   r  r  r  rb   r  rs   rt   ru   rv   rI   s              rS   edit_invite_linkz_ChatBase.edit_invite_link  sU     < \\^99GG##%%'+%!!5 : 
 
 	
 
r   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`

        )ry   r  rs   rt   ru   rv   rI   N)rz   revoke_chat_invite_linkrA   )rQ   r  rs   rt   ru   rv   rI   s          rS   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`
        )	ry   r  r  rb   rs   rt   ru   rv   rI   N)rz   $create_chat_subscription_invite_linkrA   )	rQ   r  r  rb   rs   rt   ru   rv   rI   s	            rS   create_subscription_invite_linkz)_ChatBase.create_subscription_invite_link  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`

        )ry   r  rs   rt   ru   rv   rI   rb   N)rz   "edit_chat_subscription_invite_linkrA   )rQ   r  rb   rs   rt   ru   rv   rI   s           rS   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)rz   approve_chat_join_requestrA   r   s          rS   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)rz   decline_chat_join_requestrA   r   s          rS   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.
        )ry   r  rs   rt   ru   rv   rI   N)rz   set_chat_menu_buttonrA   )rQ   r  rs   rt   ru   rv   rI   s          rS   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`
        )	ry   rb   r  r  rs   rt   ru   rv   rI   N)rz   create_forum_topicrA   )	rQ   rb   r  r  rs   rt   ru   rv   rI   s	            rS   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.
        )	ry   r   rb   r  rs   rt   ru   rv   rI   N)rz   edit_forum_topicrA   )	rQ   r   rb   r  rs   rt   ru   rv   rI   s	            rS   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.
        ry   r   rs   rt   ru   rv   rI   N)rz   close_forum_topicrA   rQ   r   rs   rt   ru   rv   rI   s          rS   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)rz   reopen_forum_topicrA   r  s          rS   r  z_ChatBase.reopen_forum_topic  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)rz   delete_forum_topicrA   r  s          rS   r  z_ChatBase.delete_forum_topic  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)rz   unpin_all_forum_topic_messagesrA   r  s          rS   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.
        rx   N)rz   &unpin_all_general_forum_topic_messagesrA   r|   s         rS   r  z0_ChatBase.unpin_all_general_forum_topic_messagesI  sG     , \\^JJGG%'+%! K 
 
 	
 
r~   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.
        )ry   rb   rs   rt   ru   rv   rI   N)rz   edit_general_forum_topicrA   )rQ   rb   rs   rt   ru   rv   rI   s          rS   r  z"_ChatBase.edit_general_forum_topich  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.
        rx   N)rz   close_general_forum_topicrA   r|   s         rS   r  z#_ChatBase.close_general_forum_topic  sF     * \\^==GG%'+%! > 
 
 	
 
r~   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.
        rx   N)rz   reopen_general_forum_topicrA   r|   s         rS   r  z$_ChatBase.reopen_general_forum_topic  F     . \\^>>GG%'+%! ? 
 
 	
 
r~   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.
        rx   N)rz   hide_general_forum_topicrA   r|   s         rS   r  z"_ChatBase.hide_general_forum_topic  F     * \\^<<GG%'+%! = 
 
 	
 
r~   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.
        rx   N)rz   unhide_general_forum_topicrA   r|   s         rS   r  z$_ChatBase.unhide_general_forum_topic  r  r~   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.
        rx   N)rz   get_chat_menu_buttonrA   r|   s         rS   get_menu_buttonz_ChatBase.get_menu_button  sF     4 \\^88GG%'+%! 9 
 
 	
 
r~   r8   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.
        )ry   r   rI   rs   rt   ru   rv   N)rz   get_user_chat_boostsrA   r   s          rS   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.
        )	ry   r   r  r  rs   rt   ru   rv   rI   N)rz   set_message_reactionrA   )	rQ   r   r  r  rs   rt   ru   rv   rI   s	            rS   r  z_ChatBase.set_message_reactionI  sO     0 \\^88GG!%'+%! 9 

 

 
	
 

r   )r   r   rs   rt   ru   rv   rI   
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.
        )ry   r  r  r   r   r   r
  r   r   r   r   r   r   rs   rt   ru   rv   rI   r   r+  r   r   r   r   N)rz   send_paid_mediarA   )rQ   r  r  r   r   r   r
  r   r   r   r   r   r+  r   r   r   r   r   r   rs   rt   ru   rv   rI   s                           rS   r  z_ChatBase.send_paid_mediam  s}     N \\^33GG!!-%=!5+-%(C 3%'+%!#9!5%=&?/1 4 
 
 	
 
r   gift_idz
str | Gift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  rs   rt   ru   rv   rI   ry   r   Nr?  )rz   	send_giftrF   ChatrY   rA   )rQ   r  r   r  r  r  rs   rt   ru   rv   rI   s              rS   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  rs   rt   ru   rv   rI   N)rz   transfer_giftrA   )	rQ   r   r  r  rs   rt   ru   rv   rI   s	            rS   r  z_ChatBase.transfer_gift  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.
        )ry   r  rs   rt   ru   rv   rI   N)rz   verify_chatrA   )rQ   r  rs   rt   ru   rv   rI   s          rS   verifyz_ChatBase.verify  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.
        rx   N)rz   remove_chat_verificationrA   r|   s         rS   remove_verificationz_ChatBase.remove_verification$  r  r~   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.
        )ry   r   r   rs   rt   ru   rv   rI   N)rz   read_business_messagerA   )rQ   r   r   rs   rt   ru   rv   rI   s           rS   r  z_ChatBase.read_business_messageB  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.
        )ry   r   r  rs   rt   ru   rv   rI   N)rz   approve_suggested_postrA   )rQ   r   r  rs   rt   ru   rv   rI   s           rS   r  z _ChatBase.approve_suggested_postd  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.
        )ry   r   r  rs   rt   ru   rv   rI   N)rz   decline_suggested_postrA   )rQ   r   r  rs   rt   ru   rv   rI   s           rS   r  z _ChatBase.decline_suggested_post  sL     0 \\^::GG!%'+%! ; 	
 	
 		
 	
r   from_story_idactive_periodpost_to_chat_pager6   c                   K   | j                         j                  || j                  ||||||||	|
       d{   S 7 w)ax  Shortcut for::

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

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

        .. versionadded:: 22.6

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

        )r   r  r  r  r  r   rs   rt   ru   rv   rI   N)rz   repost_storyrA   )rQ   r   r  r  r  r   rs   rt   ru   rv   rI   s              rS   r  z_ChatBase.repost_story  sU     : \\^00#9''/+%'+%! 1 
 
 	
 
r   exclude_unsavedexclude_savedexclude_unlimitedexclude_limited_upgradableexclude_limited_non_upgradableexclude_from_blockchainexclude_uniquesort_by_priceoffsetlimitr2   c                   K   | j                         j                  | j                  |||||||||	|
|||||       d{   S 7 w)aV  Shortcut for::

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

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

        .. versionadded:: 22.6

        Returns:
            :class:`telegram.OwnedGifts`: On success, returns the gifts owned by the chat.
        )ry   r  r  r	  r
  r  r  r  r  r  r  rs   rt   ru   rv   rI   N)rz   get_chat_giftsrA   )rQ   r  r  r	  r
  r  r  r  r  r  r  rs   rt   ru   rv   rI   s                   rS   	get_giftsz_ChatBase.get_gifts  sd     > \\^22GG+'/'A+I$;)'%'+%!! 3 
 
 	
 
s   =AA Atagc          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)a]  
        Shortcut for::

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

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

        .. versionadded:: 22.7

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ry   r   r  rs   rt   ru   rv   rI   N)rz   set_chat_member_tagrA   )rQ   r   r  rs   rt   ru   rv   rI   s           rS   r  z_ChatBase.set_chat_member_tag  sL     0 \\^77GG%'+%! 8 	
 	
 		
 	
r   actor_chat_idc                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)ae  
        Shortcut for::

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

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

        .. versionadded:: 22.8

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )	ry   r   r   r  rs   rt   ru   rv   rI   N)rz   delete_message_reactionrA   )	rQ   r   r   r  rs   rt   ru   rv   rI   s	            rS   delete_reactionz_ChatBase.delete_reaction*  sO     2 \\^;;GG!'%'+%! < 

 

 
	
 

r   c          
         K   | j                         j                  | j                  |||||||       d{   S 7 w)a  
        Shortcut for::

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

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

        .. versionadded:: 22.8

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )ry   r   r  rs   rt   ru   rv   rI   N)rz   delete_all_message_reactionsrA   )rQ   r   r  rs   rt   ru   rv   rI   s           rS   delete_all_reactionsz_ChatBase.delete_all_reactionsO  sM     8 \\^@@GG'%'+%! A 	
 	
 		
 	
r   )NNNNNN)N)NN)NNNNNNNNNNNNNNNNN)NNNN)
NNNNNNNNNN)__name__
__module____qualname____doc__	__slots__intstrboolr   rL   r   rN   rU   r   __annotations__rV   rW   rX   rY   propertyr^   r\   ra   r   rp   r   r   r   floatr}   tupler   r   rM   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'  r*  objectr@  rI  rN  rQ  rY  r_  rc  rf  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  r  r  r  r  r  r  r  r  r  r  r  r  r  __classcell__)rR   s   @rS   r?   r?   Y   sM   
	I !#!% $ $*. '+  Tz	
 * $J : + !4K tO: #++22FE#J2 $,,44GU3Z46!**00E5:04&//::Jc
:9#,,44GU3Z46d
   #3: # # cDj  $LS4Z $L3 $LLLd
 Lc LBLt Ls LF )5)5+7(4&*
 uo
  	

 "%
 uo
 tO
 

< $( 
 )5)5+7(4&* 
D[ 
 uo	 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 Djb
 "&b
 +T1b
 $;b
 'tnb
 +b
 4Zb
 !)b
  $&b
 #,,&-b
 '7$>b
  "$!b
" :#b
$ 3%b
& !$d
'b
( &c])b
* $O4t;+b
, :-b
. #Tk/b
0 1b
2 3b
4 -t35b
6 #Tk7b
8 $($;9b
: 4Z;b
< !) 4=b
> '7$>?b
@ TkAb
B  }t+Cb
D 3Eb
F 'Gb
J !4ZKb
L &.d^Mb
N uoOb
P  Qb
R "%Sb
T uoUb
V tOWb
X 
Yb
P #$0=A/;-1*6(,5904,0,0/3FJ(,#@
& +/6B(4)5+7(4&*3@
Ci@
 @
 t	@

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 %)4K0
 )-t0
 "&0
 t0
 d{0
 d
0
 Tz0
 uo0
  0
 "%0
  uo!0
" tO#0
$ 
%0
j !

 )5)5+7(4&*!
!
 4Z!

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

 )5)5+7(4&*%
t%
 Tz%

 uo%
  %
 "%%
 uo%
 tO%
 
%
 %
rT   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
    r?  N)r  r  r   r!  r"  r?  rT   rS   r  r  w  s    ;z IrT   r  )Pr!  r+  r*  collections.abcr   htmlr   typingr   r   telegramr   telegram._chatpermissionsr   telegram._forumtopicr	   telegram._menubuttonr
   telegram._reactionr   telegram._telegramobjectr   telegram._utilsr   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   r   telegram._utils.usernamesr   r   telegram.helpersr   r   rr   r   rj   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r?   r  r?  rT   rS   <module>r>     s   ( F  $  '  5 + + + 3   5  > , A I$ $ $ $ $ $ $ $ $ $J 2[@
 [@
|@>9 >rT   