mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-08 04:52:30 +00:00
Periodically send ping/getState
This commit is contained in:
@@ -2,6 +2,7 @@ import abc
|
||||
import asyncio
|
||||
import logging
|
||||
import platform
|
||||
import time
|
||||
import warnings
|
||||
from datetime import timedelta, datetime
|
||||
|
||||
@@ -192,6 +193,8 @@ class TelegramBaseClient(abc.ABC):
|
||||
self._last_state = datetime.now()
|
||||
self._state_delay = timedelta(hours=1)
|
||||
self._state = None
|
||||
self._updates_handle = None
|
||||
self._last_request = time.time()
|
||||
|
||||
# Some further state for subclasses
|
||||
self._event_builders = []
|
||||
@@ -241,6 +244,8 @@ class TelegramBaseClient(abc.ABC):
|
||||
await self._sender.send(self._init_with(
|
||||
functions.help.GetConfigRequest()))
|
||||
|
||||
self._updates_handle = self._loop.create_task(self._update_loop())
|
||||
|
||||
if not had_auth:
|
||||
self.session.auth_key = self._sender.state.auth_key
|
||||
self.session.save()
|
||||
@@ -386,4 +391,8 @@ class TelegramBaseClient(abc.ABC):
|
||||
def _handle_update(self, update):
|
||||
raise NotImplementedError
|
||||
|
||||
@abc.abstractmethod
|
||||
def _update_loop(self):
|
||||
raise NotImplementedError
|
||||
|
||||
# endregion
|
||||
|
Reference in New Issue
Block a user