Support stopping propagation of events (#622)

This commit is contained in:
Joscha Götzer
2018-02-27 11:30:42 +01:00
committed by Lonami
parent 29f10f2771
commit 0b662f3b04
3 changed files with 59 additions and 1 deletions

View File

@@ -121,6 +121,33 @@ random number, while if you say ``'eval 4+4'``, you will reply with the
solution. Try it!
Stopping propagation of Updates
*******************************
There might be cases when an event handler is supposed to be used solitary and
it makes no sense to process any other handlers in the chain. For this case,
it is possible to raise a ``StopPropagation`` exception which will cause the
propagation of the update through your handlers to stop:
.. code-block:: python
from telethon.events import StopPropagation
@client.on(events.NewMessage)
def _(event):
# ... some conditions
event.delete()
# Other handlers won't have an event to work with
raise StopPropagation
@client.on(events.NewMessage)
def _(event):
# Will never be reached, because it is the second handler
# in the chain.
pass
Events module
*************