2018-04-13 18:36:23 +03:00
|
|
|
from .common import Raw
|
2018-04-05 21:14:22 +03:00
|
|
|
from .chataction import ChatAction
|
|
|
|
from .messagedeleted import MessageDeleted
|
|
|
|
from .messageedited import MessageEdited
|
|
|
|
from .messageread import MessageRead
|
|
|
|
from .newmessage import NewMessage
|
|
|
|
from .userupdate import UserUpdate
|
2018-03-28 16:52:35 +03:00
|
|
|
|
|
|
|
|
2018-02-27 13:30:42 +03:00
|
|
|
class StopPropagation(Exception):
|
|
|
|
"""
|
2018-03-21 10:55:13 +03:00
|
|
|
If this exception is raised in any of the handlers for a given event,
|
|
|
|
it will stop the execution of all other registered event handlers.
|
|
|
|
It can be seen as the ``StopIteration`` in a for loop but for events.
|
2018-02-27 13:30:42 +03:00
|
|
|
|
|
|
|
Example usage:
|
2018-04-05 21:14:22 +03:00
|
|
|
>>> from telethon import TelegramClient, events
|
|
|
|
>>> client = TelegramClient(...)
|
|
|
|
>>>
|
2018-03-21 10:55:13 +03:00
|
|
|
>>> @client.on(events.NewMessage)
|
|
|
|
... def delete(event):
|
|
|
|
... event.delete()
|
|
|
|
... # No other event handler will have a chance to handle this event
|
|
|
|
... raise StopPropagation
|
|
|
|
...
|
|
|
|
>>> @client.on(events.NewMessage)
|
|
|
|
... def _(event):
|
|
|
|
... # Will never be reached, because it is the second handler
|
|
|
|
... pass
|
2018-02-27 13:30:42 +03:00
|
|
|
"""
|
2018-03-21 10:55:13 +03:00
|
|
|
# For some reason Sphinx wants the silly >>> or
|
|
|
|
# it will show warnings and look bad when generated.
|
|
|
|
pass
|