
    > /i1                       d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ddl m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) ddl(m*Z+ ddl(m,Z- er2ddlm.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD  G d de      ZEy)z?This module contains an object that represents a Telegram Chat.    )datetime)escape)TYPE_CHECKINGFinalOptionalSequenceTupleUnion)	constants)ChatLocation)ChatPermissions)	ChatPhoto)
ForumTopic)
MenuButton)TelegramObject)enum)parse_sequence_arg)extract_tzinfo_from_defaultsfrom_timestamp)DEFAULT_NONE)CorrectOptionID	FileInputJSONDictODVInputReplyMarkup)escape_markdown)mention_html)mention_markdown)	AnimationAudioBotChatInviteLink
ChatMemberContactDocumentInlineKeyboardMarkupInputMediaAudioInputMediaDocumentInputMediaPhotoInputMediaVideoLabeledPriceLocationMessageMessageEntity	MessageId	PhotoSizeStickerVenueVideo	VideoNoteVoicec            D       <%    e Zd ZU dZ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<   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd	d
ede	dee	   dee	   dee	   dee	   dee   dee	   dee	   ded   dee   dee	   dee   dee   dee	   dee   dee   dee   dee   dee   dee   d ee   d!ee   d"ee   d#eee	      d$ee	   d%ee   d&ee   d'ee   d(ee   f< fd)Zed*ee	   fd+       Zed*ee	   fd,       Zed*ee	   fd-       Zed.ee   d/d0d*ed    f fd1       Zd d2ee	   d*e	fd3Zd d2ee	   d*e	fd4Z d d2ee	   d*e	fd5Z!e"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efd;Z%e"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*e&d<   fd=Z'e"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efd>Z(e"e"e"e"dd6d?ed7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*d@fdAZ)	 	 de"e"e"e"dd6d?edBee   dCee*eef      d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdDZ+e"e"e"e"dd6dEed7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdFZ,e"e"e"e"dd6dGe*e	ef   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdHZ-e"e"e"e"dd6dEed7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdIZ.e"e"e"e"dd6dGe*e	ef   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdJZ/	 d e"e"e"e"dd6d?edKee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdLZ0	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 de"e"e"e"dd6d?edMee   dNee   dOee   dPee   dQee   dRee   dSee   dTee   dUee   dVee   dWee   dXee   dYee   dZee   d[ee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*ef,d\Z1	 	 de"e"e"e"dd6d?ededCee*eef      d]ee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efd^Z2	 d e"e"e"e"dd6ded]ee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efd_Z3e"e"e"e"dd6d?e*ee	f   d`e	d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdaZ4e"e"e"e"dd6de5d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdbZ6e"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdcZ7e"e"e"e"dd6de	d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efddZ8	 d e"e"e"e"dd6dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdeZ9e"fe"e"e"e"dd6dfedge#e   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdhZ:	 d e"e"e"e"dd6dfee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdiZ;e"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdjZ<e"e"e"dde"de"df	e"e"e"e"dd6dke	dle#e	   dme#e   dge#e   dnee   doee=   dpe#e   dqeedr      dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df duZ>e"de"e"dfe"e"e"e"dde"ddvdwee*dx      dge#e   dnee   dpe#e   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   dyee	   dle#e	   dzeedr      d*e&d{   fd|Z?	 d e"e"e"e"dd6d}e	dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efd~Z@e@ZA	 de"dde"e"de"ddf
de"e"e"e"ddde*e5df   dyee	   dge#e   dnee   doee=   dle#e	   dpe#e   dzeedr      dse#e   dtee   dee   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df$dZBddde"ddde"e"df
de"e"e"e"dddee	   dee	   dee	   dge#e   dnee   doee=   dee	   dpe#e   dse#e   dtee   ded   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df"dZCdddde"dde"e"de"ddfde"e"e"e"ddde*e5df   dee   dee	   dee	   dyee	   dge#e   dnee   doee=   dle#e	   dpe#e   dzeedr      dse#e   dtee   dee5   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df*dZDde"dde"de"de"ddfde"e"e"e"ddde*e5df   dyee	   dge#e   dnee   doee=   dle#e	   dee   dpe#e   dzeedr      dse#e   dtee   dee5   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df&dZEe"ddde"e"dfe"e"e"e"dd6dge#e   dnee   doee=   dee	   dpe#e   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZFe"dde"e"dfe"e"e"e"dd6de	dge#e   dnee   doed   dpe#e   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZGdddddddddde"ddddde"dde"dfe"e"e"e"dd6de	de	de	de	de	ded   dee	   dee	   dee   dee   dee   dee   dee   dee   dee   dee   dge#e   dnee   doed   dee*e	eHf      dee   dee   dpe#e   dee   deee      dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfBdZIdde"dddddde"e"dfde"e"e"e"dddee$   dee$   dge#e   dnee   doee=   dee   dee$   dee   dee   dpe#e   dse#e   dtee   ded   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df&dZJdddde"e"dde"de"dddfde"e"e"e"ddde*e5df   dee   dee   dee   dyee	   dle#e	   dge#e   dnee   doee=   dpe#e   dzeedr      dse#e   dtee   dee   dee5   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df,dZKe"dde"e"ddfe"e"e"e"dd6de*e5df   dge#e   dnee   doee=   dpe#e   dse#e   dtee   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZLddddde"ddddde"e"dfde"e"e"e"dddee$   dee$   dee	   dee	   dee	   dge#e   dnee   doee=   dee	   dee	   dee	   dpe#e   dse#e   dtee   ded   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df*dǄZMdde"dddde"de"de"dddfde"e"e"e"ddde*e5df   dee   dyee	   dge#e   dnee   doee=   dee   dee   dle#e	   dee   dpe#e   dzeedr      dse#e   dtee   dee   dee5   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df.d˄ZNdde"dde"e"ddf	de"e"e"e"ddde*e5df   dee   dee   dge#e   dnee   doee=   dpe#e   dse#e   dtee   dee5   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df"dτZOdde"dde"e"de"df
de"e"e"e"ddde*e5df   dee   dyee	   dge#e   dnee   doee=   dle#e	   dpe#e   dzeedr      dse#e   dtee   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df$d҄ZPddddde"ddde"dde"de"dfe"e"e"e"dd6de	dee	   dUee   dee	   dee   deeQ   dee   dge#e   dnee   doee=   dee	   de#e	   dee   dee*eef      dpe#e   deedr      dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df0d݄ZRde"de"de"de"df	e"e"e"e"dd6de*e	ef   dfedyee	   dle#e	   dzeedr      dge#e   dnee   dpe#e   doee=   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df"dZSde"de"de"de"df	e"e"e"e"dd6dGe*ee	f   dfedyee	   dle#e	   dzeedr      dge#e   dnee   dpe#e   doee=   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*df"dZTe"e"dfe"e"e"e"dd6de*e	ef   dfedge#e   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZUe"e"dfe"e"e"e"dd6dGe*ee	f   dfedge#e   dse#e   dtee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZVe"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*e	fdZW	 	 	 	 de"e"e"e"dd6dee*eef      dee   d2ee	   dee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZX	 	 	 	 de"e"e"e"dd6de*e	df   dee*eef      dee   d2ee	   dee   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZYe"e"e"e"dd6de*e	df   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*dfdZZe"e"e"e"dd6d?ed7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZ[e"e"e"e"dd6d?ed7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZ\	 d e"e"e"e"dd6dee]   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZ^	 	 de"e"e"e"dd6d2e	dee   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*e_fdZ`	 	 de"e"e"e"dd6dted2ee	   dee	   d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZae"e"e"e"dd6dted7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZbe"e"e"e"dd6dted7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZce"e"e"e"dd6dted7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZde"e"e"e"dd6dted7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZee"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZfe"e"e"e"dd6d2e	d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZge"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZhe"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZie"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZje"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*efdZke"e"e"e"dd6d7e#e$   d8e#e$   d9e#e$   d:e#e$   d(ee   d*e]fdZl xZmS (  Chata3  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`.

    Args:
        id (:obj:`int`): Unique identifier for this chat. This number may be greater than 32 bits
            and some programming languages may have difficulty/silent defects in interpreting it.
            But it is smaller than 52 bits, so a signed 64-bit integer or double-precision float
            type are safe for storing this identifier.
        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.
        photo (:class:`telegram.ChatPhoto`, optional): Chat photo.
            Returned only in :meth:`telegram.Bot.get_chat`.
        bio (:obj:`str`, optional): Bio of the other party in a private chat. Returned only in
            :meth:`telegram.Bot.get_chat`.
        has_private_forwards (:obj:`bool`, optional): :obj:`True`, if privacy settings of the other
            party in the private chat allows to use ``tg://user?id=<user_id>`` links only in chats
            with the user. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.9
        description (:obj:`str`, optional): Description, for groups, supergroups and channel chats.
            Returned only in :meth:`telegram.Bot.get_chat`.
        invite_link (:obj:`str`, optional): Primary invite link, for groups, supergroups and
            channel. Returned only in :meth:`telegram.Bot.get_chat`.
        pinned_message (:class:`telegram.Message`, optional): The most recent pinned message
            (by sending date). Returned only in :meth:`telegram.Bot.get_chat`.
        permissions (:class:`telegram.ChatPermissions`): Optional. Default chat member permissions,
            for groups and supergroups. Returned only in :meth:`telegram.Bot.get_chat`.
        slow_mode_delay (:obj:`int`, optional): For supergroups, the minimum allowed delay between
            consecutive messages sent by each unprivileged user.
            Returned only in :meth:`telegram.Bot.get_chat`.
        message_auto_delete_time (:obj:`int`, optional): The time after which all messages sent to
            the chat will be automatically deleted; in seconds. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.4
        has_protected_content (:obj:`bool`, optional): :obj:`True`, if messages from the chat can't
            be forwarded to other chats. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.9

        sticker_set_name (:obj:`str`, optional): For supergroups, name of group sticker set.
            Returned only in :meth:`telegram.Bot.get_chat`.
        can_set_sticker_set (:obj:`bool`, optional): :obj:`True`, if the bot can change group the
            sticker set. Returned only in :meth:`telegram.Bot.get_chat`.
        linked_chat_id (:obj:`int`, optional): Unique identifier for the linked chat, i.e. the
            discussion group identifier for a channel and vice versa; for supergroups and channel
            chats. Returned only in :meth:`telegram.Bot.get_chat`.
        location (:class:`telegram.ChatLocation`, optional): For supergroups, the location to which
            the supergroup is connected. Returned only in :meth:`telegram.Bot.get_chat`.
        join_to_send_messages (:obj:`bool`, optional): :obj:`True`, if users need to join the
            supergroup before they can send messages. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        join_by_request (:obj:`bool`, optional): :obj:`True`, if all users directly joining the
            supergroup need to be approved by supergroup administrators. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        has_restricted_voice_and_video_messages (:obj:`bool`, optional): :obj:`True`, if the
            privacy settings of the other party restrict sending voice and video note messages
            in the private chat. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        is_forum (:obj:`bool`, optional): :obj:`True`, if the supergroup chat is a forum
            (has topics_ enabled).

            .. versionadded:: 20.0
        active_usernames (Sequence[:obj:`str`], optional):  If set, the list of all `active chat
            usernames <https://telegram.org/blog/topics-in-groups-collectible-usernames            #collectible-usernames>`_; for private chats, supergroups and channels. Returned
            only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        emoji_status_custom_emoji_id (:obj:`str`, optional): Custom emoji identifier of emoji
            status of the other party in a private chat. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        emoji_status_expiration_date (:class:`datetime.datetime`, optional): Expiration date of
            emoji status of the other party in a private chat, in seconds. Returned only in
            :meth:`telegram.Bot.get_chat`.
            |datetime_localization|

            .. versionadded:: 20.5
        has_aggressive_anti_spam_enabled (:obj:`bool`, optional): :obj:`True`, if aggressive
            anti-spam checks are enabled in the supergroup. The field is only available to chat
            administrators. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        has_hidden_members (:obj:`bool`, optional): :obj:`True`, if non-administrators can only
            get the list of bots and administrators in the chat. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0

    Attributes:
        id (:obj:`int`): Unique identifier for this chat. This number may be greater than 32 bits
            and some programming languages may have difficulty/silent defects in interpreting it.
            But it is smaller than 52 bits, so a signed 64-bit integer or double-precision float
            type are safe for storing this identifier.
        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.
        photo (:class:`telegram.ChatPhoto`): Optional. Chat photo.
            Returned only in :meth:`telegram.Bot.get_chat`.
        bio (:obj:`str`): Optional. Bio of the other party in a private chat. Returned only in
            :meth:`telegram.Bot.get_chat`.
        has_private_forwards (:obj:`bool`): Optional. :obj:`True`, if privacy settings of the other
            party in the private chat allows to use ``tg://user?id=<user_id>`` links only in chats
            with the user. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.9
        description (:obj:`str`): Optional. Description, for groups, supergroups and channel chats.
            Returned only in :meth:`telegram.Bot.get_chat`.
        invite_link (:obj:`str`): Optional. Primary invite link, for groups, supergroups and
            channel. Returned only in :meth:`telegram.Bot.get_chat`.
        pinned_message (:class:`telegram.Message`): Optional. The most recent pinned message
            (by sending date). Returned only in :meth:`telegram.Bot.get_chat`.
        permissions (:class:`telegram.ChatPermissions`): Optional. Default chat member permissions,
            for groups and supergroups. Returned only in :meth:`telegram.Bot.get_chat`.
        slow_mode_delay (:obj:`int`): Optional. For supergroups, the minimum allowed delay between
            consecutive messages sent by each unprivileged user. Returned only in
            :meth:`telegram.Bot.get_chat`.
        message_auto_delete_time (:obj:`int`): Optional. The time after which all messages sent to
            the chat will be automatically deleted; in seconds. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.4
        has_protected_content (:obj:`bool`): Optional. :obj:`True`, if messages from the chat can't
            be forwarded to other chats. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 13.9
        sticker_set_name (:obj:`str`): Optional. For supergroups, name of Group sticker set.
            Returned only in :meth:`telegram.Bot.get_chat`.
        can_set_sticker_set (:obj:`bool`): Optional. :obj:`True`, if the bot can change group the
            sticker set. Returned only in :meth:`telegram.Bot.get_chat`.
        linked_chat_id (:obj:`int`): Optional. Unique identifier for the linked chat, i.e. the
            discussion group identifier for a channel and vice versa; for supergroups and channel
            chats. Returned only in :meth:`telegram.Bot.get_chat`.
        location (:class:`telegram.ChatLocation`): Optional. For supergroups, the location to which
            the supergroup is connected. Returned only in :meth:`telegram.Bot.get_chat`.
        join_to_send_messages (:obj:`bool`): Optional. :obj:`True`, if users need to join
            the supergroup before they can send messages. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        join_by_request (:obj:`bool`): Optional. :obj:`True`, if all users directly
            joining the supergroup need to be approved by supergroup administrators. Returned only
            in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        has_restricted_voice_and_video_messages (:obj:`bool`): Optional. :obj:`True`, if the
            privacy settings of the other party restrict sending voice and video note messages
            in the private chat. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        is_forum (:obj:`bool`): Optional. :obj:`True`, if the supergroup chat is a forum
            (has topics_ enabled).

            .. versionadded:: 20.0
        active_usernames (Tuple[:obj:`str`]): Optional. If set, the list of all `active chat
            usernames <https://telegram.org/blog/topics-in-groups-collectible-usernames            #collectible-usernames>`_; for private chats, supergroups and channels. Returned
            only in :meth:`telegram.Bot.get_chat`.
            This list is empty if the chat has no active usernames or this chat instance was not
            obtained via :meth:`~telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        emoji_status_custom_emoji_id (:obj:`str`): Optional. Custom emoji identifier of emoji
            status of the other party in a private chat. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        emoji_status_expiration_date (:class:`datetime.datetime`, optional): Expiration date of
            emoji status of the other party in a private chat, in seconds. Returned only in
            :meth:`telegram.Bot.get_chat`.
            |datetime_localization|

            .. versionadded:: 20.5
        has_aggressive_anti_spam_enabled (:obj:`bool`): Optional. :obj:`True`, if aggressive
            anti-spam checks are enabled in the supergroup. The field is only available to chat
            administrators. Returned only in :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0
        has_hidden_members (:obj:`bool`): Optional. :obj:`True`, if non-administrators can only
            get the list of bots and administrators in the chat. Returned only in
            :meth:`telegram.Bot.get_chat`.

            .. versionadded:: 20.0

    .. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups
    )bioidtype	last_namesticker_set_nameslow_mode_delaylocation
first_namepermissionsinvite_linkpinned_messagedescriptioncan_set_sticker_setusernametitlephotolinked_chat_idmessage_auto_delete_timehas_protected_contenthas_private_forwardsjoin_to_send_messagesjoin_by_request'has_restricted_voice_and_video_messagesis_forumactive_usernamesemoji_status_custom_emoji_idemoji_status_expiration_datehas_hidden_members has_aggressive_anti_spam_enabledSENDERPRIVATEGROUP
SUPERGROUPCHANNELN
api_kwargsr9   r:   rF   rE   r?   r;   rG   rC   rA   rB   r-   r@   r<   rD   r=   r8   rH   r>   rI   rK   rJ   rL   rM   rN   rO   rP   rQ   rR   rT   rS   r[   c                r   t         |   |       || _        t        j                  t
        j                  ||      | _        || _        || _	        || _
        || _        || _        || _        || _        || _        |	| _        |
| _        || _        || _        |t)        |      nd | _        || _        || _        || _        || _        || _        || _        || _        || _        || _        t?        |      | _         || _!        || _"        || _#        || _$        | j                  f| _%        | jM                          y )NrZ   )'super__init__r9   r   
get_memberr   ChatTyper:   rF   rE   r?   r;   rG   r8   rK   rC   rA   rB   r@   r=   intrI   rJ   r<   rD   rH   r>   rL   rM   rN   rO   r   rP   rQ   rR   rT   rS   	_id_attrs_freeze) selfr9   r:   rF   rE   r?   r;   rG   rC   rA   rB   r@   r<   rD   r=   r8   rH   r>   rI   rK   rJ   rL   rM   rN   rO   rP   rQ   rR   rT   rS   r[   	__class__s                                   D/srv/sistema/bot/venv/lib/python3.12/site-packages/telegram/_chat.pyr^   zChat.__init__N  s>   D 	J/););T4H	$)
'/)3(1*/
"%4H!*5*51?6A.=-E-QC()W[ 	% 6K"/?3F -;085J"/> 4 	4 )11CDT1U;W)@\)@`-2D''    returnc                 d    | j                   | j                   S | j                  | j                  S y)z
        :obj:`str`: Convenience property. Gives :attr:`title` if not :obj:`None`,
        else :attr:`full_name` if not :obj:`None`.

        .. versionadded:: 20.1
        N)rF   	full_namerd   s    rf   effective_namezChat.effective_name  s/     ::!::>>%>>!rg   c                     | j                   sy| j                  r| j                    d| j                   S | j                   S )aK  
        :obj:`str`: Convenience property. If :attr:`first_name` is not :obj:`None`, gives
        :attr:`first_name` followed by (if available) :attr:`last_name`.

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

        .. versionadded:: 13.2
        N )r?   r;   rk   s    rf   rj   zChat.full_name  s:     >>oo&a'788rg   c                 :    | j                   rd| j                    S y)zw:obj:`str`: Convenience property. If the chat has a :attr:`username`, returns a t.me
        link of the chat.
        zhttps://t.me/N)rE   rk   s    rf   linkz	Chat.link  s    
 =="4==/22rg   databotr!   c                    | j                  |      }|syt        |      }t        |j                  d      |      |d<   t	        j
                  |j                  d      |      |d<   ddlm}  |j
                  |j                  d      |      |d<   t        j
                  |j                  d      |      |d<   t        j
                  |j                  d	      |      |d	<   i }d
|v r|j                  d
      |d
<   t        | 1  |||      S )z,See :meth:`telegram.TelegramObject.de_json`.NrR   )tzinforG   r   )r-   rB   r@   r>   all_members_are_administrators)rq   rr   r[   )_parse_datar   r   getr   de_jsontelegramr-   r   r   popr]   _de_json)clsrq   rr   
loc_tzinfor-   r[   re   s         rf   rx   zChat.de_json  s	    t$ 2#6
/=HH34Z0
+, "))$((7*;SAW$!0:J1KS!Q-55dhh}6MsS]'//0DcJZ
 ,t3;?880<J78 wTszJJrg   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:`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:`first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the :attr:`title`
                is set, then throw an :exc:`TypeError`. If chat is a private group chat, then
                throw an :exc:`TypeError`.

        =Can not create a mention to a private chat without first name[]()7Can not create a mention to a public chat without title0Can not create a mention to a private group chat)	r:   rV   helpers_mention_markdownr9   rj   	TypeErrorrE   rp   rF   rd   r~   s     rf   r   zChat.mention_markdown  s    . 99$/>>~~/HH[\\==4&499+Q//zz4::,b155UVVJKKrg   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:`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:`first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the :attr:`title`
                is set, then throw an :exc:`TypeError`. If chat is a private group chat, then
                throw an :exc:`TypeError`.

           )versionr   r   r   r   r   r   )
r:   rV   r   r9   rj   r   rE   r   rp   rF   r   s     rf   mention_markdown_v2zChat.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Krg   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:`first_name` is set, then throw an :exc:`TypeError`.
                If the chat is a public chat and neither the :paramref:`name` nor the :attr:`title`
                is set, then throw an :exc:`TypeError`. If chat is a private group chat, then
                throw an :exc:`TypeError`.

        r   z	<a href="z">z</a>r   r   )
r:   rV   helpers_mention_htmlr9   rj   r   rE   rp   r   rF   r   s     rf   r   zChat.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Krg   )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr[   r   r   r   r   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_idr   r   r   r   r[   N)get_bot
leave_chatr9   rd   r   r   r   r   r[   s         rf   leavez
Chat.leaveG  sF     & \\^..GG%'+%! / 
 
 	
 
   3<:<)r#   .c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)a]  Shortcut for::

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

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

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

        r   N)r   get_chat_administratorsr9   r   s         rf   get_administratorszChat.get_administratorsc  sF     . \\^;;GG%'+%! < 
 
 	
 
r   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`
        r   N)r   get_chat_member_countr9   r   s         rf   get_member_countzChat.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`

        r   r   r   r   r   r   r[   N)r   get_chat_memberr9   rd   r   r   r   r   r   r[   s          rf   r_   zChat.get_member  sI     ( \\^33GG%'+%! 4 
 
 	
 
   4=;=revoke_messages
until_datec                   K   | j                         j                  | j                  ||||||||	       d{   S 7 w)a$  Shortcut for::

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

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

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        )	r   r   r   r   r   r   r   r[   r   N)r   ban_chat_memberr9   )	rd   r   r   r   r   r   r   r   r[   s	            rf   
ban_memberzChat.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.

        r   r   r   r   r   r   r[   Nr   ban_chat_sender_chatr9   rd   r   r   r   r   r   r[   s          rf   ban_sender_chatzChat.ban_sender_chat  sI     . \\^88GG)%'+%! 9 
 
 	
 
r   r   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   rd   r   r   r   r   r   r[   s          rf   ban_chatzChat.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r   unban_chat_sender_chatr9   r   s          rf   unban_sender_chatzChat.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          rf   
unban_chatzChat.unban_chatD  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.

        )r   r   r   r   r   r   r[   r   N)r   unban_chat_memberr9   )rd   r   r   r   r   r   r   r[   s           rf   unban_memberzChat.unban_memberg  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_storiesc                   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.

        )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r[   r   r   r   r   r   r   r   N)r   promote_chat_memberr9   )rd   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r[   s                         rf   promote_memberzChat.promote_member  sw     Z \\^77GG+// 3-!5- 3%'+%!%+#9/--1- 8 
 
 	
 
   AAA
A 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.

        )
r   r   r@   r   r   r   r   r   r   r[   N)r   restrict_chat_memberr9   )
rd   r   r@   r   r   r   r   r   r   r[   s
             rf   restrict_memberzChat.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.

        )r   r@   r   r   r   r   r   r[   N)r   set_chat_permissionsr9   )rd   r@   r   r   r   r   r   r[   s           rf   set_permissionszChat.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.

        )r   r   r   r   r   r   r   r[   N)r   #set_chat_administrator_custom_titler9   )rd   r   r   r   r   r   r   r[   s           rf   set_administrator_custom_titlez#Chat.set_administrator_custom_title  sM     0 \\^GGGG%%'+%! H 	
 	
 		
 	
r   c          	      ~   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.

        )r   rG   r   r   r   r   r[   N)r   set_chat_photor9   )rd   rG   r   r   r   r   r[   s          rf   	set_photozChat.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.

        r   N)r   delete_chat_photor9   r   s         rf   delete_photozChat.delete_photoa  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.

        )r   rF   r   r   r   r   r[   N)r   set_chat_titler9   )rd   rF   r   r   r   r   r[   s          rf   	set_titlezChat.set_title  r   r   c          	      ~   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.

        )r   rC   r   r   r   r   r[   N)r   set_chat_descriptionr9   )rd   rC   r   r   r   r   r[   s          rf   set_descriptionzChat.set_description  sI     2 \\^88GG#%'+%! 9 
 
 	
 
r   
message_iddisable_notificationc          
         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.

        )r   r   r   r   r   r   r   r[   N)r   pin_chat_messager9   )rd   r   r   r   r   r   r   r[   s           rf   pin_messagezChat.pin_message  sL     , \\^44GG!!5%'+%! 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.

        )r   r   r   r   r   r[   r   N)r   unpin_chat_messager9   )rd   r   r   r   r   r   r[   s          rf   unpin_messagezChat.unpin_message  sI     * \\^66GG%'+%!! 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.

        r   N)r   unpin_all_chat_messagesr9   r   s         rf   unpin_all_messageszChat.unpin_all_messages  sF     ( \\^;;GG%'+%! < 
 
 	
 
r   text
parse_modedisable_web_page_previewreply_to_message_idreply_markupallow_sending_without_replyentitiesr.   protect_contentmessage_thread_idc                   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.

        )r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r[   N)r   send_messager9   )rd   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r[   s                   rf   r  zChat.send_message%  sd     : \\^00GG!%=!5 3%(C+/%'+%!! 1 
 
 	
 
s   =AA A)r   r   r   r   r[   captionr   caption_entitiesmedia)r'   r(   r)   r*   r  r  )r-   .c                   K   | j                         j                  | j                  ||||||	|
|||||||       d{   S 7 w)as  Shortcut for::

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

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

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

        )r   r  r   r   r   r   r   r   r[   r   r   r  r  r   r  N)r   send_media_groupr9   )rd   r  r   r   r   r   r  r   r   r   r   r[   r  r   r  s                  rf   r  zChat.send_media_groupU  sa     > \\^44GG!5 3%'+%!(C+/!- 5 
 
 	
 
s   <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.

        )r   r	  r  r   r   r   r   r[   N)r   send_chat_actionr9   )rd   r	  r  r   r   r   r   r[   s           rf   r  zChat.send_chat_action  sL     * \\^44GG/%'+%! 5 	
 	
 		
 	
r   )filenamer   r   r   r   r[   r0   has_spoilerr  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.

        )r   rG   r  r   r   r   r   r   r  r  r   r  r   r   r   r   r[   r  N)r   
send_photor9   )rd   rG   r  r   r   r   r   r   r  r   r  r  r  r   r   r   r   r[   s                     rf   r  zChat.send_photo  sj     > \\^..GG!5 3%!(C-+/%'+%!#% / 
 
 	
 
   ?AAA)contactr   r   r   r   r[   phone_numbervcardr  r$   c                   K   | j                         j                  | j                  |||||||||||||||	|
       d{   S 7 w)a6  Shortcut for::

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

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

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

        )r   r  r?   r;   r   r   r   r   r   r   r   r  r  r[   r   r   r  N)r   send_contactr9   )rd   r  r?   r;   r   r   r   r  r   r   r  r  r   r   r   r   r[   s                    rf   r  zChat.send_contact  sg     < \\^00GG%!!5 3%%'+%!(C+/# 1 
 
 	
 
   >A AAaudior    duration	performer	thumbnailc                   K   | j                         j                  | j                  |||||||||	|
||||||||||       d{   S 7 w)a2  Shortcut for::

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

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

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

        )r   r  r  r  rF   r  r   r   r   r   r   r  r  r   r  r   r   r   r   r[   r  N)r   
send_audior9   )rd   r  r  r  rF   r  r   r   r   r   r   r  r   r  r  r  r   r   r   r   r[   s                        rf   r  zChat.send_audio  st     D \\^..GG!5 3%!(C-+/%'+%!+ / 
 
 	
 
   AAA	Adocumentr%   disable_content_type_detectionc                   K   | j                         j                  | j                  ||||||||||||||||	|
|       d{   S 7 w)a8  Shortcut for::

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

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

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

        )r   r  r  r  r   r   r   r   r   r   r   r   r  r[   r  r   r  r   r  N)r   send_documentr9   )rd   r  r  r   r   r   r   r  r   r  r   r  r  r  r   r   r   r   r[   s                      rf   r!  zChat.send_documentI  sn     @ \\^11GG!5 3%%'+%!!+I(C-+/' 2 
 
 	
 
   A 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.

        )r   r   r   r   r   r   r   r   r#  r[   r   r   r  N)r   	send_dicer9   )rd   r   r   r   r#  r   r   r  r   r   r   r   r[   s                rf   r%  zChat.send_dice  s[     4 \\^--GG!5 3%%'+%!(C+/ . 
 
 	
 
   :AAAgame_short_namer&   c                   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.

        )r   r'  r   r   r   r   r   r   r   r[   r   r   r  N)r   	send_gamer9   )rd   r'  r   r   r   r   r   r  r   r   r   r   r[   s                rf   r)  zChat.send_game  s[     4 \\^--GG+!5 3%%'+%!(C+/ . 
 
 	
 
r&  payloadprovider_tokencurrencypricesr+   start_parameter	photo_url
photo_sizephoto_widthphoto_height	need_nameneed_phone_number
need_emailneed_shipping_addressis_flexibleprovider_datasend_phone_number_to_providersend_email_to_providermax_tip_amountsuggested_tip_amountsc                4  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"{   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.

        r   rF   rC   r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r   r   r   r8  r9  r:  r   r   r   r   r[   r   r;  r<  r   r  N )r   send_invoicer9   )!rd   rF   rC   r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r   r   r   r8  r9  r:  r   r;  r<  r   r  r   r   r   r   r[   s!                                    rf   r?  zChat.send_invoice  s~    p 1T\\^00 "
GG"
"
 $"
 	"

 *"
 "
 "
 ,"
  "
 ""
 $"
 &"
  "
 0"
 ""
  #8!"
" $#"
$ "6%"
& !4'"
( &)"
* (+"
, +H-"
. $:/"
0 &1"
2 (3"
4 ,5"
6 &7"
8 "9"
: )D;"
< *="
> #8?"
@ ,A"
B 0C"
 "
 "	
 "
s   BBBB)r>   r   r   r   r   r[   latitude	longitudelive_periodhorizontal_accuracyheadingproximity_alert_radiusr,   c                   K   | j                         j                  | j                  |||||||||||||||	|
||       d{   S 7 w)a8  Shortcut for::

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

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

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

        )r   r@  rA  r   r   r   r   r   r   r   r>   rB  r[   rC  rD  rE  r   r   r  N)r   send_locationr9   )rd   r@  rA  r   r   r   rB  rC  rD  rE  r   r   r  r>   r   r   r   r   r[   s                      rf   rG  zChat.send_location/  sn     @ \\^11GG!5 3%%'+%#! 3#9(C+/' 2 
 
 	
 
r"  	animationr   widthheightc                   K   | j                         j                  | j                  |||||||||	||||||
||||||       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.

        )r   rH  r  rI  rJ  r  r   r   r   r   r   r   r   r   r[   r   r  r  r   r  r  r  N)r   send_animationr9   )rd   rH  r  rI  rJ  r  r   r   r   r   r   r  r   r  r  r  r  r   r   r   r   r[   s                         rf   rL  zChat.send_animatione  sw     F \\^22GG!!5 3%%'+%!(C-+/#- 3 
 
 	
 
r   stickerr1   c	                   K   | j                         j                  | j                  |||||	|
|||||||       d{   S 7 w)a6  Shortcut for::

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

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

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

        )r   rM  r   r   r   r   r   r   r   r[   r   r   r  r#  N)r   send_stickerr9   )rd   rM  r   r   r   r   r   r  r#  r   r   r   r   r[   s                 rf   rO  zChat.send_sticker  s^     6 \\^00GG!5 3%%'+%!(C+/ 1 
 
 	
 
s   ;AAA)venuer   r   r   r   r[   addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typerP  r2   c                   K   | j                         j                  | j                  ||||||||||||||	||
||||       d{   S 7 w)a2  Shortcut for::

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

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

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

        )r   r@  rA  rF   rQ  rR  r   r   r   r   r   r   r   rP  rS  r[   rT  rU  r   r   r  N)r   
send_venuer9   )rd   r@  rA  rF   rQ  rR  r   r   r   rS  rT  rU  r   r   r  rP  r   r   r   r   r[   s                        rf   rW  zChat.send_venue  st     D \\^..GG'!5 3%%'+%+!+/(C+/+ / 
 
 	
 
r  videor3   supports_streamingc                   K   | j                         j                  | j                  |||||||||||||	|
||||||||       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.

        )r   rX  r  r  r   r   r   r   r   r   r   rI  rJ  r   rY  r  r[   r   r  r  r   r  r  N)r   
send_videor9   )rd   rX  r  r  r   r   r   rI  rJ  r   rY  r   r  r   r  r  r  r  r   r   r   r   r[   s                          rf   r[  zChat.send_video  sz     H \\^..GG!5 3%%'+%!1!(C-+/#/ / 
 
 	
 
s   AAAA
video_noter4   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.

        )r   r\  r  r]  r   r   r   r   r   r   r   r  r[   r   r  r   r  N)r   send_video_noter9   )rd   r\  r  r]  r   r   r   r   r   r  r  r  r   r   r   r   r[   s                    rf   r_  zChat.send_video_noteE  sg     < \\^33GG!!5 3%%'+%!(C+/# 4 
 
 	
 
r  voicer5   c                   K   | j                         j                  | j                  ||||||||||||||	||
|       d{   S 7 w)a2  Shortcut for::

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

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

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

        )r   r`  r  r  r   r   r   r   r   r   r   r   r[   r   r  r  r   r  N)r   
send_voicer9   )rd   r`  r  r  r   r   r   r   r   r  r   r  r  r   r   r   r   r[   s                     rf   rb  zChat.send_voicew  sj     > \\^..GG!5 3%%'+%!!(C-+/% / 
 
 	
 
r  questionoptionsallows_multiple_answerscorrect_option_id	is_closedexplanationexplanation_parse_modeopen_period
close_dateexplanation_entitiesc                   K   | j                         j                  | j                  |||||||||	|
|||||||||||||       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.

        )r   rc  rd  r   r:   re  rf  rg  r   r   r   r   r   r   r   rh  ri  rj  rk  r[   r   rl  r   r  N)r   	send_pollr9   )rd   rc  rd  r   r:   re  rf  rg  r   r   r   rh  ri  rj  rk  r   rl  r   r  r   r   r   r   r[   s                           rf   rn  zChat.send_poll  s}     J \\^--GG%$;/!5 3%%'+%##9#!!(C!5+/1 . 
 
 	
 
s   AAAAfrom_chat_idr/   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`.

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

        )r   ro  r   r  r   r  r   r   r   r   r   r   r   r   r[   r   r  Nr   copy_messager9   )rd   ro  r   r  r   r  r   r   r   r   r   r  r   r   r   r   r[   s                    rf   	send_copyzChat.send_copy  sg     < \\^00GG%!!-!5 3(C%%'+%!+/# 1 
 
 	
 
r  c                   K   | j                         j                  | j                  |||||||||	||||||
|       d{   S 7 w)aC  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`.

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

        )ro  r   r   r  r   r  r   r   r   r   r   r   r   r   r[   r   r  Nrq  )rd   r   r   r  r   r  r   r   r   r   r   r  r   r   r   r   r[   s                    rf   rr  zChat.copy_message	  sg     < \\^00!!-!5 3(C%%'+%!+/# 1 
 
 	
 
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`

        .. versionadded:: 20.0

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

        )r   ro  r   r   r   r   r   r   r[   r   r  Nr   forward_messager9   )rd   ro  r   r   r   r  r   r   r   r   r[   s              rf   forward_fromzChat.forward_fromO	  sU     8 \\^33GG%!!5%'+%!+/ 4 
 
 	
 
   8A?Ac                   K   | j                         j                  | j                  |||||||	|
||       d{   S 7 w)a  Shortcut for::

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

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

        .. seealso:: :meth:`forward_from`

        .. versionadded:: 20.0

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

        )ro  r   r   r   r   r   r   r   r[   r   r  Nrv  )rd   r   r   r   r   r  r   r   r   r   r[   s              rf   
forward_tozChat.forward_toy	  sU     8 \\^33!!5%'+%!+/ 4 
 
 	
 
ry  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.

        r   N)r   export_chat_invite_linkr9   r   s         rf   export_invite_linkzChat.export_invite_link	  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`

        )
r   r  r  r   r   r   r   r[   r~   r  N)r   create_chat_invite_linkr9   )
rd   r  r  r~   r  r   r   r   r   r[   s
             rf   create_invite_linkzChat.create_invite_link	  sR     < \\^;;GG#%%'+%!!5 < 
 
 	
 
r   c                   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`

        )r   rA   r  r  r   r   r   r   r[   r~   r  N)r   edit_chat_invite_linkr9   )rd   rA   r  r  r~   r  r   r   r   r   r[   s              rf   edit_invite_linkzChat.edit_invite_link	  sU     < \\^99GG##%%'+%!!5 : 
 
 	
 
ry  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`

        )r   rA   r   r   r   r   r[   N)r   revoke_chat_invite_linkr9   )rd   rA   r   r   r   r   r[   s          rf   revoke_invite_linkzChat.revoke_invite_link
  sI     . \\^;;GG#%'+%! < 
 
 	
 
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)r   approve_chat_join_requestr9   r   s          rf   approve_join_requestzChat.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)r   decline_chat_join_requestr9   r   s          rf   decline_join_requestzChat.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.
        )r   r  r   r   r   r   r[   N)r   set_chat_menu_buttonr9   )rd   r  r   r   r   r   r[   s          rf   set_menu_buttonzChat.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`
        )	r   r~   r  r  r   r   r   r   r[   N)r   create_forum_topicr9   )	rd   r~   r  r  r   r   r   r   r[   s	            rf   r  zChat.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.
        )	r   r  r~   r  r   r   r   r   r[   N)r   edit_forum_topicr9   )	rd   r  r~   r  r   r   r   r   r[   s	            rf   r  zChat.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.
        r   r  r   r   r   r   r[   N)r   close_forum_topicr9   rd   r  r   r   r   r   r[   s          rf   r  zChat.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)r   reopen_forum_topicr9   r  s          rf   r  zChat.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)r   delete_forum_topicr9   r  s          rf   r  zChat.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)r   unpin_all_forum_topic_messagesr9   r  s          rf   r  z#Chat.unpin_all_forum_topic_messagesI  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.
        r   N)r   &unpin_all_general_forum_topic_messagesr9   r   s         rf   r  z+Chat.unpin_all_general_forum_topic_messagesj  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.
        )r   r~   r   r   r   r   r[   N)r   edit_general_forum_topicr9   )rd   r~   r   r   r   r   r[   s          rf   r  zChat.edit_general_forum_topic  sI     0 \\^<<GG%'+%! = 
 
 	
 
r   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)a`  Shortcut for::

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

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

        .. versionadded:: 20.0

        Returns:
            :obj:`bool`: On success, :obj:`True` is returned.
        r   N)r   close_general_forum_topicr9   r   s         rf   r  zChat.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.
        r   N)r   reopen_general_forum_topicr9   r   s         rf   r  zChat.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.
        r   N)r   hide_general_forum_topicr9   r   s         rf   r  zChat.hide_general_forum_topic  sF     * \\^<<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.
        r   N)r   unhide_general_forum_topicr9   r   s         rf   r  zChat.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.
        r   N)r   get_chat_menu_buttonr9   r   s         rf   get_menu_buttonzChat.get_menu_button'  sF     4 \\^88GG%'+%! 9 
 
 	
 
r   )NNNNNNNNNNNNNNNNNNNNNNNNNNN)N)NN)NNNNNNNNNNNNNNN)NNNN)n__name__
__module____qualname____doc__	__slots__r   r`   rU   r   str__annotations__rV   rW   rX   rY   ra   r   r   r   boolr   r   r   r   r^   propertyrl   rj   rp   classmethodrx   r   r   r   r   r   floatr   r	   r   r   r_   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  send_actionr  r  r  r!  r%  r)  objectr?  rG  rL  rO  rW  r[  r_  rb  r   rn  rs  rr  rx  r{  r~  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  __classcell__)re   s   @rf   r7   r7   E   s>3   XtI@ #++22FE#J2 $,,44GU3Z46!**00E5:04&//::Jc
:9#,,44GU3Z46  $"&$(#'%)%)%).215*..2)-!(,+/26/30404*.BF#'486:;?;?-1=I@ *.AII I }	I
 3-I SMI C=I 	"I c]I c]I !+I o.I #3-I &d^I "#I  c]!I" !#I$ <(%I& #+3-'I( 'tn)I*  (~+I,  (~-I. "$/I0 2:$1I2 4.3I4 #8C=15I6 '/sm7I8 '/x&89I: +34.;I< %TN=I@ X&AIV    8C=  " hsm   K8H- KE Khv>N K K>#LXc] #Lc #LJL L L@L# L# LF )5)5+7(4)-
 uo
  	

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 "%
 uo
 X&
 

@ %13?/;-1.26B8<*6+/.
 )5)5+7(4)-#.
.
 SM.
 #+4.	.

 'tn.
 &c].
 {+.
 &.d^.
 8O45.
 "$.
 $C=.
 uo.
  .
 "%.
  uo!.
" X&#.
$ 
%.
j 0<-16B*6+//
 )5)5+7(4)-!%$0@D%/
_`
/

 'tn/
 &c]/
 &.d^/
 "$/
 $C=/
 uo/
  /
 "%/
 uo/
 X&/
  #!/
" SM#/
$ #8O#<=%/
& 
~	'/
h ,0

 )5)5+7(4)-

 $C=

 uo
  
 "%
 uo
 X&
 

@ #K,
 "&/;-1.2$06B@D*6+/&*2
 #'(4)5+7(4)-'2
Y+,2
 #2
 'tn	2

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

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

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

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

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

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

 Z
 Z
 (Z
 "#Z
 C=Z
 SMZ
 c]Z
 smZ
 D>Z
 $D>Z
 TNZ
   (~!Z
" d^#Z
$ 'tn%Z
& &c]'Z
( 56)Z
*  c6k 23+Z
, (0~-Z
. !)/Z
0 &.d^1Z
2 !3Z
4  (65Z
6 "$7Z
8 $C=9Z
< uo=Z
>  ?Z
@ "%AZ
B uoCZ
D X&EZ
F 
GZ
| %)%)/;-1.2%)/3!%046B*6+/4
 *.(4)5+7(4)-)4
5/4
 E?4
 'tn	4

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

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

 {+*
 &.d^*
 "$*
 $C=*
 }*
 uo*
  *
 "%*
 uo*
 X&*
  
!*
\ %)%)#!%'+/;-1.2)-)-+/6B*6+/8
" $((4)5+7(4)--8
5/8
 E?8
 }	8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 "%!
 uo!
 X&!
 
!
rg   r7   N)Fr  r   htmlr   typingr   r   r   r   r	   r
   ry   r   telegram._chatlocationr   telegram._chatpermissionsr   telegram._files.chatphotor   telegram._forumtopicr   telegram._menubuttonr   telegram._telegramobjectr   telegram._utilsr   telegram._utils.argumentparsingr   telegram._utils.datetimer   r   telegram._utils.defaultvaluer   telegram._utils.typesr   r   r   r   r   telegram.helpersr   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   r7   r>  rg   rf   <module>r     s{   ( F   I I  / 5 / + + 3   > Q 5 ] ] , A I      6C0
> C0
rg   