U
    ¯ªh^  ã                   @   s<   d dl mZ d dlmZ ddlmZ eG dd„ deƒƒZdS )é   )Úname_inner_event)Ú
NewMessageé   )Útypesc                   @   s0   e Zd ZdZeddd„ƒZG dd„ dejƒZdS )ÚMessageEditedaq  
    Occurs whenever a message is edited. Just like `NewMessage
    <telethon.events.newmessage.NewMessage>`, you should treat
    this event as a `Message <telethon.tl.custom.message.Message>`.

    .. warning::

        On channels, `Message.out <telethon.tl.custom.message.Message>`
        will be `True` if you sent the message originally, **not if
        you edited it**! This can be dangerous if you run outgoing
        commands on edits.

        Some examples follow:

        * You send a message "A", ``out is True``.
        * You edit "A" to "B", ``out is True``.
        * Someone else edits "B" to "C", ``out is True`` (**be careful!**).
        * Someone sends "X", ``out is False``.
        * Someone edits "X" to "Y", ``out is False``.
        * You edit "Y" to "Z", ``out is False``.

        Since there are useful cases where you need the right ``out``
        value, the library cannot do anything automatically to help you.
        Instead, consider using ``from_users='me'`` (it won't work in
        broadcast channels at all since the sender is the channel and
        not you).

    Example
        .. code-block:: python

            from telethon import events

            @client.on(events.MessageEdited)
            async def handler(event):
                # Log the date of new edits
                print('Message', event.id, 'changed at', event.date)
    Nc                 C   s"   t |tjtjfƒr|  |j¡S d S )N)Ú
isinstancer   ZUpdateEditMessageZUpdateEditChannelMessageÚEventÚmessage)ÚclsÚupdateZothersÚself_id© r   úA/tmp/pip-unpacked-wheel-c81u5j2r/telethon/events/messageedited.pyÚbuild-   s    ÿzMessageEdited.buildc                   @   s   e Zd ZdS )zMessageEdited.EventN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   3   s   r   )NN)r   r   r   Ú__doc__Úclassmethodr   r   r   r   r   r   r   r      s   %r   N)Úcommonr   Z
newmessager   Útlr   r   r   r   r   r   Ú<module>   s   