Ë
    :É„j½  ã                   óD   — d dl mZmZ d dlZd dlmZmZmZ  G d„ d«      Zy)é    )ÚUnionÚOptionalN)ÚrawÚtypesÚerrorsc                   óL   — e Zd Z	 	 ddddeeef   deeef   dddee   d	efd
„Zy)ÚPromoteChatMemberNÚselfzpyrogram.ClientÚchat_idÚuser_idÚ
privilegesztypes.ChatPrivilegesÚtitleÚreturnc              ƒ   ó  K  — | j                  |«      ƒ d{  –—† }| j                  |«      ƒ d{  –—† }|€t        j                  «       }	 | j                  t        j
                  j                  j                  ||¬«      «      ƒ d{  –—† j                  }|s1t        |t        j                  j                  «      r|j                  }n|}| j                  t        j
                  j                  j                  ||t        j                  j                  |j                   |j"                  |j$                  |j&                  |j(                  |j*                  |j,                  |j.                  |j0                  |j2                  |j4                  |j6                  |j8                  |j:                  |j<                  ¬«      |xs d¬«      «      ƒ d{  –—†  y7 �ŒÁ7 �Œ«7 �ŒU# t        j                  $ r d}Y �Œaw xY w7 Œ*­w)aã  Promote or demote a user in a supergroup or a channel.

        You must be an administrator in the chat for this to work and must have the appropriate admin rights.
        Pass False for all boolean parameters to demote a user.

        .. include:: /_includes/usable-by/users-bots.rst

        Parameters:
            chat_id (``int`` | ``str``):
                Unique identifier (int) or username (str) of the target chat.
                You can also use chat public link in form of *t.me/<username>* (str).

            user_id (``int`` | ``str``):
                Unique identifier (int) or username (str) of the target user.
                For a contact that exists in your Telegram address book you can use his phone number (str).
                You can also use user profile link in form of *t.me/<username>* (str).

            privileges (:obj:`~pyrogram.types.ChatPrivileges`, *optional*):
                New user privileges.

            title: (``str``, *optional*):
                A custom title that will be shown to all members instead of "Owner" or "Admin".
                Pass None or "" (empty string) will keep the current title.
                If you want to delete the custom title, use :meth:`~pyrogram.Client.set_administrator_title()` method.

        Returns:
            ``bool``: True on success.

        Example:
            .. code-block:: python

                # Promote chat member to admin
                await app.promote_chat_member(chat_id, user_id)
        N)ÚchannelÚparticipant)Ú	anonymousÚchange_infoÚpost_messagesÚedit_messagesÚdelete_messagesÚ	ban_usersÚinvite_usersÚpin_messagesÚ
add_adminsÚmanage_callÚmanage_topicsÚpost_storiesÚedit_storiesÚdelete_storiesÚotherÚ )r   r   Úadmin_rightsÚrankT)Úresolve_peerr   ÚChatPrivilegesÚinvoker   Ú	functionsÚchannelsÚGetParticipantr   r   ÚRPCErrorÚ
isinstanceÚChannelParticipantAdminr$   Ú	EditAdminÚChatAdminRightsÚis_anonymousÚcan_change_infoÚcan_post_messagesÚcan_edit_messagesÚcan_delete_messagesÚcan_restrict_membersÚcan_invite_usersÚcan_pin_messagesÚcan_promote_membersÚcan_manage_video_chatsÚcan_manage_topicsÚcan_post_storiesÚcan_edit_storiesÚcan_delete_storiesÚcan_manage_chat)r
   r   r   r   r   Úraw_chat_memberr$   s          úa/var/www/html/GAP/venv/lib/python3.12/site-packages/pyrogram/methods/chats/promote_chat_member.pyÚpromote_chat_memberz%PromoteChatMember.promote_chat_member   sÆ  è ø€ ðR ×)Ñ)¨'Ó2×2ˆØ×)Ñ)¨'Ó2×2ˆð ÐÜ×-Ñ-Ó/ˆJð	#Ø%)§[¡[Ü—‘×&Ñ&×5Ñ5Ø#Ø 'ð 6ó ó&÷  ÷
 ‰{ð ñ œ O´S·Y±Y×5VÑ5VÔWØ"×'Ñ'‰DàˆDà�k‰kÜ�M‰M×"Ñ"×,Ñ,ØØÜ ŸY™Y×6Ñ6Ø(×5Ñ5Ø *× :Ñ :Ø",×">Ñ">Ø",×">Ñ">Ø$.×$BÑ$BØ(×=Ñ=Ø!+×!<Ñ!<Ø!+×!<Ñ!<Ø)×=Ñ=Ø *× AÑ AØ",×">Ñ">Ø!+×!<Ñ!<Ø!+×!<Ñ!<Ø#-×#@Ñ#@Ø$×4Ñ4ð 7ó ð" ’Z˜Rð) -ó ó
÷ 	
ð 	
ð2 ð_ 3ùØ2ùð úô �‰ò 	#Ø"‹Oð	#úð	
úsb   ‚G?—G˜G?°G±G?Á=G! Â	GÂ
G! ÂD:G?ÇG=ÇG?ÇG?ÇG! Ç!G:Ç6G?Ç9G:Ç:G?)NN)	Ú__name__Ú
__module__Ú__qualname__r   ÚintÚstrr   ÚboolrA   © ó    r@   r	   r	      sb   „ ð
 26Ø#'ñXØ#ðXà˜3 ˜8‘_ðXð ˜3 ˜8‘_ðXð /ð	Xð
 ˜C‘=ðXð 
ôXrI   r	   )Útypingr   r   Úpyrogramr   r   r   r	   rH   rI   r@   ú<module>rL      s   ð÷( #ã ß 'Ñ '÷Yò YrI   