
    Yi(-                     B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)zSThis module contains the class which represents a Telegram ChatAdministratorRights.    )Optional)TelegramObject)JSONDictc            $          ^  \ 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4"U 4S jjjjr	\
SS j5       r\
SS j5       rSrU =r$ )ChatAdministratorRights   a  Represents the rights of an administrator in a chat.

Objects of this class are comparable in terms of equality. Two objects of this class are
considered equal, if their :attr:`is_anonymous`, :attr:`can_manage_chat`,
:attr:`can_delete_messages`, :attr:`can_manage_video_chats`, :attr:`can_restrict_members`,
:attr:`can_promote_members`, :attr:`can_change_info`, :attr:`can_invite_users`,
:attr:`can_post_messages`, :attr:`can_edit_messages`, :attr:`can_pin_messages`,
:attr:`can_manage_topics`, :attr:`can_post_stories`, :attr:`can_delete_stories`, and
:attr:`can_edit_stories` are equal.

.. versionadded:: 20.0

.. versionchanged:: 20.0
    :attr:`can_manage_topics` is considered as well when comparing objects of
    this type in terms of equality.

.. versionchanged:: 20.6
    :attr:`can_post_stories`, :attr:`can_edit_stories`, and :attr:`can_delete_stories` are
    considered as well when comparing objects of this type in terms of equality.

.. versionchanged:: 21.1
    As of this version, :attr:`can_post_stories`, :attr:`can_edit_stories`,
    and :attr:`can_delete_stories` is now required. Thus, the order of arguments had to be
    changed.

Args:
    is_anonymous (:obj:`bool`): :obj:`True`, if the user's presence in the chat is hidden.
    can_manage_chat (:obj:`bool`): :obj:`True`, if the administrator can access the chat event
        log, get boost list, see hidden supergroup and channel members, report spam messages
        and ignore slow mode. Implied by any other administrator privilege.
    can_delete_messages (:obj:`bool`): :obj:`True`, if the administrator can delete messages of
        other users.
    can_manage_video_chats (:obj:`bool`): :obj:`True`, if the administrator can manage video
        chats.
    can_restrict_members (:obj:`bool`): :obj:`True`, if the administrator can restrict, ban or
        unban chat members, or access supergroup statistics.
    can_promote_members (:obj:`bool`): :obj:`True`, if the administrator can add new
        administrators with a subset of their own privileges or demote administrators
        that they have promoted, directly or indirectly (promoted by administrators that
        were appointed by the user).
    can_change_info (:obj:`bool`): :obj:`True`, if the user is allowed to change the chat title
        , photo and other settings.
    can_invite_users (:obj:`bool`): :obj:`True`, if the user is allowed to invite new users to
        the chat.
    can_post_messages (:obj:`bool`, optional): :obj:`True`, if the administrator can post
        messages in the channel, or access channel statistics; for channels only.
    can_edit_messages (:obj:`bool`, optional): :obj:`True`, if the administrator can edit
        messages of other users and can pin messages; for channels only.
    can_pin_messages (:obj:`bool`, optional): :obj:`True`, if the user is allowed to pin
        messages; for groups and supergroups only.
    can_post_stories (:obj:`bool`): :obj:`True`, if the administrator can post
        stories to the chat.

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_edit_stories (:obj:`bool`): :obj:`True`, if the administrator can edit stories posted
        by other users, post stories to the chat page, pin chat stories, and access the chat's
        story archive

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_delete_stories (:obj:`bool`): :obj:`True`, if the administrator can delete
        stories posted by other users.

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_manage_topics (:obj:`bool`, optional): :obj:`True`, if the user is allowed
        to create, rename, close, and reopen forum topics; for supergroups only.

        .. versionadded:: 20.0

Attributes:
    is_anonymous (:obj:`bool`): :obj:`True`, if the user's presence in the chat is hidden.
    can_manage_chat (:obj:`bool`): :obj:`True`, if the administrator can access the chat event
        log, get boost list, see hidden supergroup and channel members, report spam messages
        and ignore slow mode. Implied by any other administrator privilege.
    can_delete_messages (:obj:`bool`): :obj:`True`, if the administrator can delete messages of
        other users.
    can_manage_video_chats (:obj:`bool`): :obj:`True`, if the administrator can manage video
        chats.
    can_restrict_members (:obj:`bool`): :obj:`True`, if the administrator can restrict, ban or
        unban chat members, or access supergroup statistics.
    can_promote_members (:obj:`bool`): :obj:`True`, if the administrator can add new
        administrators with a subset of their own privileges or demote administrators that he
        has promoted, directly or indirectly (promoted by administrators that were appointed by
        the user.)
    can_change_info (:obj:`bool`): :obj:`True`, if the user is allowed to change the chat title
        ,photo and other settings.
    can_invite_users (:obj:`bool`): :obj:`True`, if the user is allowed to invite new users to
        the chat.
    can_post_messages (:obj:`bool`): Optional. :obj:`True`, if the administrator can post
        messages in the channel, or access channel statistics; for channels only.
    can_edit_messages (:obj:`bool`): Optional. :obj:`True`, if the administrator can edit
        messages of other users and can pin messages; for channels only.
    can_pin_messages (:obj:`bool`): Optional. :obj:`True`, if the user is allowed to pin
        messages; for groups and supergroups only.
    can_post_stories (:obj:`bool`): :obj:`True`, if the administrator can post
        stories to the chat.

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_edit_stories (:obj:`bool`): :obj:`True`, if the administrator can edit stories posted
        by other users, post stories to the chat page, pin chat stories, and access the chat's
        story archive

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_delete_stories (:obj:`bool`): :obj:`True`, if the administrator can delete
        stories posted by other users.

        .. versionadded:: 20.6
        .. versionchanged:: 21.0
            |non_optional_story_argument|
    can_manage_topics (:obj:`bool`): Optional. :obj:`True`, if the user is allowed
        to create, rename, close, and reopen forum topics; for supergroups only.

        .. versionadded:: 20.0
)can_change_infocan_delete_messagescan_delete_storiescan_edit_messagescan_edit_storiescan_invite_userscan_manage_chatcan_manage_topicscan_manage_video_chatscan_pin_messagescan_post_messagescan_post_storiescan_promote_memberscan_restrict_membersis_anonymousN
api_kwargsr   r   r
   r   r   r   r	   r   r   r   r   r   r   r   r   r   returnc                L  > [         TU ]  US9  Xl        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        Xl        Xl        Xl        Xl        Xl        Xl        U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                   U R                  U R                  U R                  4U l        U R%                  5         g )Nr   )super__init__r   r   r
   r   r   r   r	   r   r   r   r   r   r   r   r   	_id_attrs_freeze)selfr   r   r
   r   r   r   r	   r   r   r   r   r   r   r   r   r   	__class__s                    L/app/.venv/lib/python3.13/site-packages/telegram/_chatadministratorrights.pyr    ChatAdministratorRights.__init__   s   ( 	J/".%4)< ,B#*>!)< %4&6&6&6(:1B1B0@1B   $$''%%$$  !!""""!!""!!!!##
$ 	    c                 8    U " S[        U R                  5      -  6 $ )a	  
This method returns the :class:`ChatAdministratorRights` object with all attributes set to
:obj:`True`. This is e.g. useful when changing the bot's default administrator rights with
:meth:`telegram.Bot.set_my_default_administrator_rights`.

.. versionadded:: 20.0
)Tlen	__slots__clss    r"   
all_rights"ChatAdministratorRights.all_rights   s     Gc#--0011r$   c                 8    U " S[        U R                  5      -  6 $ )z
This method returns the :class:`ChatAdministratorRights` object with all attributes set to
:obj:`False`.

.. versionadded:: 20.0
)Fr&   r)   s    r"   	no_rights!ChatAdministratorRights.no_rights   s     Hs3==1122r$   )r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   )NNNN)r   r   )__name__
__module____qualname____firstlineno____doc__r(   boolr   r   r   classmethodr+   r.   __static_attributes____classcell__)r!   s   @r"   r   r      s   zxI> -1,0+/,0!9$ *.%99 9 "	9
 !%9 #9 "9 9 9 9 9 !9 $D>9 $D>9 #4.9  $D>!9$ X&%9& 
'9 9v 2 2 3 3r$   r   N)r4   typingr   telegram._telegramobjectr   telegram._utils.typesr   r    r$   r"   <module>r=      s"   & Z  3 *]3n ]3r$   