mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 09:26:37 +03:00
Call GetState on login to init MessageBox
This commit is contained in:
parent
3c7f53802f
commit
898eb5b82f
|
@ -7,6 +7,7 @@ import warnings
|
||||||
|
|
||||||
from .. import utils, helpers, errors, password as pwd_mod
|
from .. import utils, helpers, errors, password as pwd_mod
|
||||||
from ..tl import types, functions, custom
|
from ..tl import types, functions, custom
|
||||||
|
from .._updates import SessionState
|
||||||
|
|
||||||
if typing.TYPE_CHECKING:
|
if typing.TYPE_CHECKING:
|
||||||
from .telegramclient import TelegramClient
|
from .telegramclient import TelegramClient
|
||||||
|
@ -371,7 +372,7 @@ class AuthMethods:
|
||||||
self._tos = result.terms_of_service
|
self._tos = result.terms_of_service
|
||||||
raise errors.PhoneNumberUnoccupiedError(request=request)
|
raise errors.PhoneNumberUnoccupiedError(request=request)
|
||||||
|
|
||||||
return self._on_login(result.user)
|
return await self._on_login(result.user)
|
||||||
|
|
||||||
async def sign_up(
|
async def sign_up(
|
||||||
self: 'TelegramClient',
|
self: 'TelegramClient',
|
||||||
|
@ -466,9 +467,9 @@ class AuthMethods:
|
||||||
await self(
|
await self(
|
||||||
functions.help.AcceptTermsOfServiceRequest(self._tos.id))
|
functions.help.AcceptTermsOfServiceRequest(self._tos.id))
|
||||||
|
|
||||||
return self._on_login(result.user)
|
return await self._on_login(result.user)
|
||||||
|
|
||||||
def _on_login(self, user):
|
async def _on_login(self, user):
|
||||||
"""
|
"""
|
||||||
Callback called whenever the login or sign up process completes.
|
Callback called whenever the login or sign up process completes.
|
||||||
|
|
||||||
|
@ -478,6 +479,9 @@ class AuthMethods:
|
||||||
self._self_input_peer = utils.get_input_peer(user, allow_self=False)
|
self._self_input_peer = utils.get_input_peer(user, allow_self=False)
|
||||||
self._authorized = True
|
self._authorized = True
|
||||||
|
|
||||||
|
state = await self(functions.updates.GetStateRequest())
|
||||||
|
self._message_box.load(SessionState(0, 0, 0, state.pts, state.qts, int(state.date.timestamp()), state.seq, 0), [])
|
||||||
|
|
||||||
return user
|
return user
|
||||||
|
|
||||||
async def send_code_request(
|
async def send_code_request(
|
||||||
|
|
|
@ -559,6 +559,11 @@ class TelegramBaseClient(abc.ABC):
|
||||||
LAYER, self._init_request
|
LAYER, self._init_request
|
||||||
))
|
))
|
||||||
|
|
||||||
|
if self._message_box.is_empty():
|
||||||
|
me = await self.get_me()
|
||||||
|
if me:
|
||||||
|
await self._on_login(me) # also calls GetState to initialize the MessageBox
|
||||||
|
|
||||||
self._updates_handle = self.loop.create_task(self._update_loop())
|
self._updates_handle = self.loop.create_task(self._update_loop())
|
||||||
self._keepalive_handle = self.loop.create_task(self._keepalive_loop())
|
self._keepalive_handle = self.loop.create_task(self._keepalive_loop())
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user