
    N[iL                     <    d dl mZmZ d dlZd dlmZ  G d d      Zy)    )UnionIterableN)rawc                   F    e Zd Z	 d	dddeeef   deeee   f   dedef
dZy)
DeleteMessagesselfzpyrogram.Clientchat_idmessage_idsrevokereturnc                   K   | j                  |       d{   }t        |t              st        |      n|g}t        |t        j
                  j                        rN| j                  t        j                  j                  j                  ||             d{   }|j                  S | j                  t        j                  j                  j                  ||             d{   }|j                  S 7 7 `7 w)aw  Delete messages, including service messages.

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

        Parameters:
            chat_id (``int`` | ``str``):
                Unique identifier (int) or username (str) of the target chat.
                For your personal cloud (Saved Messages) you can simply use "me" or "self".
                For a contact that exists in your Telegram address book you can use his phone number (str).

            message_ids (``int`` | Iterable of ``int``):
                An iterable of message identifiers to delete (integers) or a single message id.

            revoke (``bool``, *optional*):
                Deletes messages on both parts.
                This is only for private cloud chats and normal groups, messages on
                channels and supergroups are always revoked (i.e.: deleted for everyone).
                Defaults to True.

        Returns:
            ``int``: Amount of affected messages

        Example:
            .. code-block:: python

                # Delete one message
                await app.delete_messages(chat_id, message_id)

                # Delete multiple messages at once
                await app.delete_messages(chat_id, list_of_message_ids)

                # Delete messages only on your side (without revoking)
                await app.delete_messages(chat_id, message_id, revoke=False)
        N)channelid)r   r   )resolve_peer
isinstanceintlistr   typesInputPeerChannelinvoke	functionschannelsr   messages	pts_count)r   r	   r
   r   peerrs         \/var/www/files/kim/lib/python3.12/site-packages/pyrogram/methods/messages/delete_messages.pydelete_messageszDeleteMessages.delete_messages   s     P &&w///9+s/Kd;'R]Q^dCII667kk&&55 " 6  A {{ kk&&55"! 6  A {{% 0s5   D C:BD C<AD )C>*D <D >D N)T)	__name__
__module____qualname__r   r   strr   boolr        r   r   r      sP    
 	::sCx: 3-.: 	:
 
:r%   r   )typingr   r   pyrogramr   r   r$   r%   r   <module>r(      s   & #  ; ;r%   