mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-02-09 08:00:53 +03:00
Reimplement catch_up
This commit is contained in:
parent
f547a00da3
commit
4b85ced1e1
|
@ -2901,11 +2901,9 @@ class TelegramClient:
|
|||
@forward_call(updates.catch_up)
|
||||
async def catch_up(self: 'TelegramClient'):
|
||||
"""
|
||||
"Catches up" on the missed updates while the client was offline.
|
||||
You should call this method after registering the event handlers
|
||||
so that the updates it loads can by processed by your script.
|
||||
Forces the client to "catch-up" on missed updates.
|
||||
|
||||
This can also be used to forcibly fetch new updates if there are any.
|
||||
The method does not wait for all updates to be received.
|
||||
|
||||
Example
|
||||
.. code-block:: python
|
||||
|
|
|
@ -80,7 +80,10 @@ def list_event_handlers(self: 'TelegramClient')\
|
|||
return [(callback, event) for event, callback in self._event_builders]
|
||||
|
||||
async def catch_up(self: 'TelegramClient'):
|
||||
pass
|
||||
# The update loop is probably blocked on either timeout or an update to arrive.
|
||||
# Unblock the loop by pushing a dummy update which will always trigger a gap.
|
||||
# This, in return, causes the update loop to catch up.
|
||||
await self._updates_queue.put(_tl.UpdatesTooLong())
|
||||
|
||||
async def _update_loop(self: 'TelegramClient'):
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue
Block a user