diff --git a/docs/source/faq.rst b/docs/source/faq.rst index 203dde8a..cc9e5b60 100644 --- a/docs/source/faq.rst +++ b/docs/source/faq.rst @@ -253,6 +253,19 @@ contact people using official apps. The answer is the same for Pyrogram too and for usernames, meeting them in a common group, have their phone contacts saved or getting a message mentioning them, either a forward or a mention in the message text. +Code hangs when I stop, restart, add/remove_handler +--------------------------------------------------- + +You tried to ``.stop()``, ``.restart()``, ``.add_handler()`` or ``.remove_handler()`` *inside* a running handler, but +that can't be done because the way Pyrogram deals with handlers would make it hang. + +When calling one of the methods above inside an event handler, Pyrogram needs to wait for all running handlers to finish +in order to safely continue. In other words, since your handler is blocking the execution by waiting for the called +method to finish and since Pyrogram needs to wait for your handler to finish, you are left with a deadlock. + +The solution to this problem is to pass ``block=False`` to such methods so that they return immediately and the actual +code called asynchronously. + UnicodeEncodeError: '' codec can't encode … -----------------------------------------------------