
    YiWi                         S r SSKJr  SSKJr  SSKJrJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJrJr  SSKJr  \(       a  SSKJrJrJrJrJ r    " S S\5      r!g)zGThis module contains an object that represents a Telegram ChatFullInfo.    )Sequence)datetime)TYPE_CHECKINGOptional)	Birthdate)Chat	_ChatBase)ChatLocation)ChatPermissions)	ChatPhoto)ReactionType)parse_sequence_arg)extract_tzinfo_from_defaultsfrom_timestamp)JSONDict)BotBusinessIntroBusinessLocationBusinessOpeningHoursMessagec            ]         ^  \ rS rSrSrSr                                        S>SS.S\S\S\S	\S
\\   S\\   S\\   S\\   S\\	   S\\
   S\\\      S\\   S\S   S\S   S\S   S\S   S\\\      S\\   S\\   S\\   S\\   S\\   S \\   S!\\	   S"\\	   S#\\	   S$\\	   S%\\   S&\\   S'\S(   S)\\   S*\\   S+\\   S,\\   S-\\	   S.\\	   S/\\	   S0\\	   S1\\   S2\\	   S3\\   S4\\   S5\\   S6\\	   S7\\   4ZU 4S8 jjjjr\ S?S9\\   S:\S;   S<\S    4U 4S= jjj5       rSrU =r$ )@ChatFullInfo'   a~=  
This object contains full information about a chat.

Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`~telegram.Chat.id` is equal.

.. versionadded:: 21.2

.. versionchanged:: 21.3
    Explicit support for all shortcut methods known from :class:`telegram.Chat` on this
    object. Previously those were only available because this class inherited from
    :class:`telegram.Chat`.

Args:
    id (:obj:`int`): Unique identifier for this chat.
    type (:obj:`str`): Type of chat, can be either :attr:`PRIVATE`, :attr:`GROUP`,
        :attr:`SUPERGROUP` or :attr:`CHANNEL`.
    accent_color_id (:obj:`int`, optional): Identifier of the
        :class:`accent color <telegram.constants.AccentColor>` for the chat name and
        backgrounds of the chat photo, reply header, and link preview. See `accent colors`_
        for more details.

        .. versionadded:: 20.8
    max_reaction_count (:obj:`int`): The maximum number of reactions that can be set on a
        message in the chat.

        .. versionadded:: 21.2
    title (:obj:`str`, optional): Title, for supergroups, channels and group chats.
    username (:obj:`str`, optional): Username, for private chats, supergroups and channels if
        available.
    first_name (:obj:`str`, optional): First name of the other party in a private chat.
    last_name (:obj:`str`, optional): Last name of the other party in a private chat.
    is_forum (:obj:`bool`, optional): :obj:`True`, if the supergroup chat is a forum
        (has topics_ enabled).

        .. versionadded:: 20.0
    photo (:class:`telegram.ChatPhoto`, optional): Chat photo.
    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.

        .. versionadded:: 20.0
    birthdate (:class:`telegram.Birthdate`, optional): For private chats,
        the date of birth of the user.

        .. versionadded:: 21.1
    business_intro (:class:`telegram.BusinessIntro`, optional): For private chats with
        business accounts, the intro of the business.

        .. versionadded:: 21.1
    business_location (:class:`telegram.BusinessLocation`, optional): For private chats with
        business accounts, the location of the business.

        .. versionadded:: 21.1
    business_opening_hours (:class:`telegram.BusinessOpeningHours`, optional): For private
        chats with business accounts, the opening hours of the business.

        .. versionadded:: 21.1
    personal_chat (:class:`telegram.Chat`, optional): For private chats, the personal channel
        of the user.

        .. versionadded:: 21.1
    available_reactions (Sequence[:class:`telegram.ReactionType`], optional): List of available
        reactions allowed in the chat. If omitted, then all of
        :const:`telegram.constants.ReactionEmoji` are allowed.

        .. versionadded:: 20.8
    background_custom_emoji_id (:obj:`str`, optional): Custom emoji identifier of emoji chosen
        by the chat for the reply header and link preview background.

        .. versionadded:: 20.8
    profile_accent_color_id (:obj:`int`, optional): Identifier of the
        :class:`accent color <telegram.constants.ProfileAccentColor>` for the chat's profile
        background. See profile `accent colors`_ for more details.

        .. versionadded:: 20.8
    profile_background_custom_emoji_id (:obj:`str`, optional): Custom emoji identifier of
        the emoji chosen by the chat for its profile background.

        .. versionadded:: 20.8
    emoji_status_custom_emoji_id (:obj:`str`, optional): Custom emoji identifier of emoji
        status of the chat or the other party in a private chat.

        .. versionadded:: 20.0
    emoji_status_expiration_date (:class:`datetime.datetime`, optional): Expiration date of
        emoji status of the chat or the other party in a private chat, as a datetime object,
        if any.

        |datetime_localization|

        .. versionadded:: 20.5
    bio (:obj:`str`, optional): Bio of the other party in a private 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.

        .. versionadded:: 13.9
    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.

        .. versionadded:: 20.0
    join_to_send_messages (:obj:`bool`, optional): :obj:`True`, if users need to join the
        supergroup before they can send messages.

        .. versionadded:: 20.0
    join_by_request (:obj:`bool`, optional): :obj:`True`, if all users directly joining the
        supergroup without using an invite link need to be approved by supergroup
        administrators.

        .. versionadded:: 20.0
    description (:obj:`str`, optional): Description, for groups, supergroups and channel chats.
    invite_link (:obj:`str`, optional): Primary invite link, for groups, supergroups and
        channel.
    pinned_message (:class:`telegram.Message`, optional): The most recent pinned message
        (by sending date).
    permissions (:class:`telegram.ChatPermissions`): Optional. Default chat member permissions,
        for groups and supergroups.
    slow_mode_delay (:obj:`int`, optional): For supergroups, the minimum allowed delay between
        consecutive messages sent by each unprivileged user.
    unrestrict_boost_count (:obj:`int`, optional): For supergroups, the minimum number of
        boosts that a non-administrator user needs to add in order to ignore slow mode and chat
        permissions.

        .. versionadded:: 21.0
    message_auto_delete_time (:obj:`int`, optional): The time after which all messages sent to
        the chat will be automatically deleted; in seconds.

        .. versionadded:: 13.4
    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.

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

        .. versionadded:: 20.0
    has_protected_content (:obj:`bool`, optional): :obj:`True`, if messages from the chat can't
        be forwarded to other chats.

        .. versionadded:: 13.9
    has_visible_history (:obj:`bool`, optional): :obj:`True`, if new chat members will have
        access to old messages; available only to chat administrators.

        .. versionadded:: 20.8
    sticker_set_name (:obj:`str`, optional): For supergroups, name of group sticker set.
    can_set_sticker_set (:obj:`bool`, optional): :obj:`True`, if the bot can change group the
        sticker set.
    custom_emoji_sticker_set_name (:obj:`str`, optional): For supergroups, the name of the
        group's custom emoji sticker set. Custom emoji from this set can be used by all users
        and bots in the group.

        .. versionadded:: 21.0
    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.
    location (:class:`telegram.ChatLocation`, optional): For supergroups, the location to which
        the supergroup is connected.
    can_send_paid_media (:obj:`bool`, optional): :obj:`True`, if paid media messages can be
        sent or forwarded to the channel chat. The field is available only for channel chats.

        .. versionadded:: 21.4

Attributes:
    id (:obj:`int`): Unique identifier for this chat.
    type (:obj:`str`): Type of chat, can be either :attr:`PRIVATE`, :attr:`GROUP`,
        :attr:`SUPERGROUP` or :attr:`CHANNEL`.
    accent_color_id (:obj:`int`): Optional. Identifier of the
        :class:`accent color <telegram.constants.AccentColor>` for the chat name and
        backgrounds of the chat photo, reply header, and link preview. See `accent colors`_
        for more details.

        .. versionadded:: 20.8
    max_reaction_count (:obj:`int`): The maximum number of reactions that can be set on a
        message in the chat.

        .. versionadded:: 21.2
    title (:obj:`str`, optional): Title, for supergroups, channels and group chats.
    username (:obj:`str`, optional): Username, for private chats, supergroups and channels if
        available.
    first_name (:obj:`str`, optional): First name of the other party in a private chat.
    last_name (:obj:`str`, optional): Last name of the other party in a private chat.
    is_forum (:obj:`bool`, optional): :obj:`True`, if the supergroup chat is a forum
        (has topics_ enabled).

        .. versionadded:: 20.0
    photo (:class:`telegram.ChatPhoto`): Optional. Chat photo.
    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.

        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
    birthdate (:class:`telegram.Birthdate`): Optional. For private chats,
        the date of birth of the user.

        .. versionadded:: 21.1
    business_intro (:class:`telegram.BusinessIntro`): Optional. For private chats with
        business accounts, the intro of the business.

        .. versionadded:: 21.1
    business_location (:class:`telegram.BusinessLocation`): Optional. For private chats with
        business accounts, the location of the business.

        .. versionadded:: 21.1
    business_opening_hours (:class:`telegram.BusinessOpeningHours`): Optional. For private
        chats with business accounts, the opening hours of the business.

        .. versionadded:: 21.1
    personal_chat (:class:`telegram.Chat`): Optional. For private chats, the personal channel
        of the user.

        .. versionadded:: 21.1
    available_reactions (tuple[:class:`telegram.ReactionType`]): Optional. List of available
        reactions allowed in the chat. If omitted, then all of
        :const:`telegram.constants.ReactionEmoji` are allowed.

        .. versionadded:: 20.8
    background_custom_emoji_id (:obj:`str`): Optional. Custom emoji identifier of emoji chosen
        by the chat for the reply header and link preview background.

        .. versionadded:: 20.8
    profile_accent_color_id (:obj:`int`): Optional. Identifier of the
        :class:`accent color <telegram.constants.ProfileAccentColor>` for the chat's profile
        background. See profile `accent colors`_ for more details.

        .. versionadded:: 20.8
    profile_background_custom_emoji_id (:obj:`str`): Optional. Custom emoji identifier of
        the emoji chosen by the chat for its profile background.

        .. versionadded:: 20.8
    emoji_status_custom_emoji_id (:obj:`str`): Optional. Custom emoji identifier of emoji
        status of the chat or the other party in a private chat.

        .. versionadded:: 20.0
    emoji_status_expiration_date (:class:`datetime.datetime`): Optional. Expiration date of
        emoji status of the chat or the other party in a private chat, as a datetime object,
        if any.

        |datetime_localization|

        .. versionadded:: 20.5
    bio (:obj:`str`): Optional. Bio of the other party in a private 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.

        .. versionadded:: 13.9
    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.

        .. versionadded:: 20.0
    join_to_send_messages (:obj:`bool`): Optional. :obj:`True`, if users need to join
        the supergroup before they can send messages.

        .. versionadded:: 20.0
    join_by_request (:obj:`bool`): Optional. :obj:`True`, if all users directly joining the
        supergroup without using an invite link need to be approved by supergroup
        administrators.

        .. versionadded:: 20.0
    description (:obj:`str`): Optional. Description, for groups, supergroups and channel chats.
    invite_link (:obj:`str`): Optional. Primary invite link, for groups, supergroups and
        channel.
    pinned_message (:class:`telegram.Message`): Optional. The most recent pinned message
        (by sending date).
    permissions (:class:`telegram.ChatPermissions`): Optional. Default chat member permissions,
        for groups and supergroups.
    slow_mode_delay (:obj:`int`): Optional. For supergroups, the minimum allowed delay between
        consecutive messages sent by each unprivileged user.
    unrestrict_boost_count (:obj:`int`): Optional. For supergroups, the minimum number of
        boosts that a non-administrator user needs to add in order to ignore slow mode and chat
        permissions.

        .. versionadded:: 21.0
    message_auto_delete_time (:obj:`int`): Optional. The time after which all messages sent to
        the chat will be automatically deleted; in seconds.

        .. versionadded:: 13.4
    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.

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

        .. versionadded:: 20.0
    has_protected_content (:obj:`bool`): Optional. :obj:`True`, if messages from the chat can't
        be forwarded to other chats.

        .. versionadded:: 13.9
    has_visible_history (:obj:`bool`): Optional. :obj:`True`, if new chat members will have
        access to old messages; available only to chat administrators.

        .. versionadded:: 20.8
    sticker_set_name (:obj:`str`): Optional. For supergroups, name of Group sticker set.
    can_set_sticker_set (:obj:`bool`): Optional. :obj:`True`, if the bot can change group the
        sticker set.
    custom_emoji_sticker_set_name (:obj:`str`): Optional. For supergroups, the name of the
        group's custom emoji sticker set. Custom emoji from this set can be used by all users
        and bots in the group.

        .. versionadded:: 21.0
    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.
    location (:class:`telegram.ChatLocation`): Optional. For supergroups, the location to which
        the supergroup is connected.
    can_send_paid_media (:obj:`bool`): Optional. :obj:`True`, if paid media messages can be
        sent or forwarded to the channel chat. The field is available only for channel chats.

        .. versionadded:: 21.4

.. _accent colors: https://core.telegram.org/bots/api#accent-colors
.. _topics: https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups
)%accent_color_idactive_usernamesavailable_reactionsbackground_custom_emoji_idbio	birthdatebusiness_introbusiness_locationbusiness_opening_hourscan_send_paid_mediacan_set_sticker_setcustom_emoji_sticker_set_namedescriptionemoji_status_custom_emoji_idemoji_status_expiration_date has_aggressive_anti_spam_enabledhas_hidden_membershas_private_forwardshas_protected_content'has_restricted_voice_and_video_messageshas_visible_historyinvite_linkjoin_by_requestjoin_to_send_messageslinked_chat_idlocationmax_reaction_countmessage_auto_delete_timepermissionspersonal_chatphotopinned_messageprofile_accent_color_id"profile_background_custom_emoji_idslow_mode_delaysticker_set_nameunrestrict_boost_countN)
api_kwargsidtyper   r4   titleusername
first_name	last_nameis_forumr8   r   r   r    r   r!   r   r"   r   r7   r   r   r   r:   r;   r'   r(   r   r+   r-   r1   r0   r&   r/   r9   r   r6   r<   r>   r5   r)   r*   r,   r.   r=   r$   r%   r2   r3   r#   r?   c-                  > [         T.U ]  UUUUUUU	U-S9  U R                  5          X@l        Xl        UU l        UU l        UU l        UU l        UU l	        UU l
        U U l        U"b  [        U"5      OS U l        U%U l        U&U l        U'U l        U(U l        U*U l        U+U l        UU l        UU l        UU l        [/        U5      U l        UU l        UU l        U#U l        U$U l        [/        U5      U l        X0l        UU l        UU l         UU l!        U!U l"        U)U l#        Xl$        UU l%        Xl&        Xl'        Xl(        U,U l)        S S S 5        g ! , (       d  f       g = f)N)r@   rA   rB   rC   rD   rE   rF   r?   )*super__init__	_unfrozenr4   r8   r   r+   r&   r/   r9   r6   r<   intr5   r,   r.   r=   r$   r2   r3   r1   r0   r-   r   r   r'   r(   r)   r*   r   r   r   r:   r;   r>   r%   r   r7   r    r!   r"   r#   )/selfr@   rA   r   r4   rB   rC   rD   rE   rF   r8   r   r   r    r!   r"   r7   r   r   r:   r;   r'   r(   r   r+   r-   r1   r0   r&   r/   r9   r6   r<   r>   r5   r)   r*   r,   r.   r=   r$   r%   r2   r3   r#   r?   	__class__s/                                                 A/app/.venv/lib/python3.13/site-packages/telegram/_chatfullinfo.pyrI   ChatFullInfo.__init__  s   b 	!! 	 		
 ^^+=#.3J&)DH8LD%.9D.9D5CD:ED2AD 1I1U,-[_ ) :OD&7JD$3CD!7JD$1?D4<DM9ND&3BD 7 8 6HHX5YD!?[D-D`D-0 1 7ID#K]#LD$ 3B =WD+:QD(2 3 :PD'@]D.2;N1>D;IAR"J`'7JD$_ s   DE
Edatabotr   returnc                   > U R                  U5      nU(       d  g[        U5      n[        UR                  S5      US9US'   [        R
                  " UR                  S5      U5      US'   SSKJnJnJ	nJ
n  UR
                  " UR                  S5      U5      US'   [        R
                  " UR                  S5      U5      US'   [        R
                  " UR                  S	5      U5      US	'   [        R                  " UR                  S
5      U5      US
'   [        R
                  " UR                  S5      U5      US'   [         R
                  " UR                  S5      U5      US'   UR
                  " UR                  S5      U5      US'   UR
                  " UR                  S5      U5      US'   UR
                  " UR                  S5      U5      US'   ["        TU ]  XS9$ )z,See :meth:`telegram.TelegramObject.de_json`.Nr(   )tzinfor8   r   )r   r   r   r   r9   r6   r3   r   r   r7   r    r!   r"   )rP   rQ   )_parse_datar   r   getr   de_jsontelegramr   r   r   r   r   r
   r   de_listr   r   rH   )	clsrP   rQ   
loc_tzinfor   r   r   r   rM   s	           rN   rW   ChatFullInfo.de_json   s   
 t$ 2#6
/=HH34Z0
+, "))$((7*;SAW	
 	
 "):J1KS!Q-55dhh}6MsS]'//0DcJZ&2&:&:488DY;Z\_&`"#%--dhh{.CSI[ $TXXo-F L_!.!6!6txx@P7QSV!W$4$<$<TXXFY=Z\_$` !)=)E)EHH-.*
%& wD22    )(NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)N)__name__
__module____qualname____firstlineno____doc__	__slots__rK   strr   boolr   r   r   r   r   r   r
   r   rI   classmethodrW   __static_attributes____classcell__)rM   s   @rN   r   r   '   s   @D
&I\  $"&$(#'#'%)48)-48:>CG*.@D4815<@6:;?!/3BF04*.%)%).215)-0426;?-104.2*..27;(,+/.2[lK^ *._lKlK lK 	lK
  lK }lK 3-lK SMlK C=lK 4.lK 	"lK #8C=1lK I&lK !1lK $$67lK  !))? @!lK"  '#lK$ &h|&<=%lK& %-SM'lK( "*#)lK* -5SM+lK, '/sm-lK. '/x&8/lK0 c]1lK2 'tn3lK4 2:$5lK6  (~7lK8 "$9lK: c];lK< c]=lK> !+?lK@ o.AlKB "#ClKD !)ElKF #+3-GlKH +34.IlKJ %TNKlKL  (~MlKN &d^OlKP #3-QlKR &d^SlKT (0}UlKV !WlKX <(YlKZ &d^[lK^ X&_lK lK\ >B%3H%%3,4UO%3	.	!%3 %3r]   r   N)"rb   collections.abcr   r   typingr   r   telegram._birthdater   telegram._chatr   r	   telegram._chatlocationr
   telegram._chatpermissionsr   telegram._files.chatphotor   telegram._reactionr   telegram._utils.argumentparsingr   telegram._utils.datetimer   r   telegram._utils.typesr   rX   r   r   r   r   r   r    r]   rN   <module>ru      sF   ( N $  * ) * / 5 / + > Q *\\39 3r]   