U
    ç;ãgB  ã                   @   sV   d dl mZmZmZ d dlZd dlmZmZ d dlmZ d dlmZ G dd„ dƒZ	dS )é    )ÚUnionÚListÚOptionalN)ÚrawÚenums)Útypes)Úutilsc                   @   s<   e Zd Zd
deeef eeed ed edddœ	dd	„Z	dS )ÚEditMessageTextNzpyrogram.Clientzenums.ParseModeztypes.MessageEntityztypes.InlineKeyboardMarkupztypes.Message)	ÚselfÚchat_idÚ
message_idÚtextÚ
parse_modeÚentitiesÚdisable_web_page_previewÚreply_markupÚreturnc           
      Ã   s¼   |   tjjjf |  |¡I dH ||p$d|r8| | ¡I dH nddœt | |||¡I dH —Ž¡I dH }|j	D ]P}	t
|	tjjtjjfƒrftj | |	jdd„ |jD ƒdd„ |jD ƒ¡I dH   S qfdS )aé  Edit the text of 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_id (``int``):
                Message identifier in the chat specified in chat_id.

            text (``str``):
                New text of the message.

            parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
                By default, texts are parsed using both Markdown and HTML styles.
                You can combine both syntaxes together.

            entities (List of :obj:`~pyrogram.types.MessageEntity`):
                List of special entities that appear in message text, which can be specified instead of *parse_mode*.

            disable_web_page_preview (``bool``, *optional*):
                Disables link previews for links in this message.

            reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
                An InlineKeyboardMarkup object.

        Returns:
            :obj:`~pyrogram.types.Message`: On success, the edited message is returned.

        Example:
            .. code-block:: python

                # Simple edit text
                await app.edit_message_text(chat_id, message_id, "new text")

                # Take the same text message, remove the web page preview only
                await app.edit_message_text(
                    chat_id, message_id, message.text,
                    disable_web_page_preview=True)
        N)ZpeerÚidZ
no_webpager   c                 S   s   i | ]}|j |“qS © ©r   ©Ú.0Úir   r   úk/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pyrogram/methods/messages/edit_message_text.pyÚ
<dictcomp>`   s      z5EditMessageText.edit_message_text.<locals>.<dictcomp>c                 S   s   i | ]}|j |“qS r   r   r   r   r   r   r   a   s      )Zinvoker   Z	functionsÚmessagesZEditMessageZresolve_peerÚwriter   Zparse_text_entitiesZupdatesÚ
isinstancer   ZUpdateEditMessageZUpdateEditChannelMessageÚMessageÚ_parseÚmessageZusersZchats)
r
   r   r   r   r   r   r   r   Úrr   r   r   r   Úedit_message_text   s$    6
üûÿ


 ýz!EditMessageText.edit_message_text)NNNN)
Ú__name__Ú
__module__Ú__qualname__r   ÚintÚstrr   r   Úboolr"   r   r   r   r   r	      s       ø
÷r	   )
Útypingr   r   r   Zpyrogramr   r   r   r   r	   r   r   r   r   Ú<module>   s
   