2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-29 13:27:47 +00:00

Merge develop -> asyncio

This commit is contained in:
Dan 2019-08-12 13:02:32 +02:00
commit a46ace4e5c
2 changed files with 27 additions and 24 deletions

View File

@ -124,3 +124,4 @@ WEBDOCUMENT_URL_EMPTY The web document URL is empty
WEBDOCUMENT_URL_INVALID The web document URL is invalid WEBDOCUMENT_URL_INVALID The web document URL is invalid
WEBDOCUMENT_MIME_INVALID The web document mime type is invalid WEBDOCUMENT_MIME_INVALID The web document mime type is invalid
BUTTON_URL_INVALID The button url is invalid BUTTON_URL_INVALID The button url is invalid
AUTH_BYTES_INVALID The authorization bytes are invalid
1 id message
124 WEBDOCUMENT_URL_INVALID The web document URL is invalid
125 WEBDOCUMENT_MIME_INVALID The web document mime type is invalid
126 BUTTON_URL_INVALID The button url is invalid
127 AUTH_BYTES_INVALID The authorization bytes are invalid

View File

@ -44,7 +44,7 @@ from pyrogram.errors import (
PhoneCodeExpired, PhoneCodeEmpty, SessionPasswordNeeded, PhoneCodeExpired, PhoneCodeEmpty, SessionPasswordNeeded,
PasswordHashInvalid, FloodWait, PeerIdInvalid, FirstnameInvalid, PhoneNumberBanned, PasswordHashInvalid, FloodWait, PeerIdInvalid, FirstnameInvalid, PhoneNumberBanned,
VolumeLocNotFound, UserMigrate, ChannelPrivate, PhoneNumberOccupied, VolumeLocNotFound, UserMigrate, ChannelPrivate, PhoneNumberOccupied,
PasswordRecoveryNa, PasswordEmpty PasswordRecoveryNa, PasswordEmpty, AuthBytesInvalid
) )
from pyrogram.session import Auth, Session from pyrogram.session import Auth, Session
from .ext import utils, Syncer, BaseClient, Dispatcher from .ext import utils, Syncer, BaseClient, Dispatcher
@ -1322,7 +1322,7 @@ class Client(Methods, BaseClient):
]) ])
if session_empty: if session_empty:
self.storage.dc_id = 4 self.storage.dc_id = 2
self.storage.date = 0 self.storage.date = 0
self.storage.test_mode = self.test_mode self.storage.test_mode = self.test_mode
@ -1745,30 +1745,32 @@ class Client(Methods, BaseClient):
if session is None: if session is None:
if dc_id != self.storage.dc_id: if dc_id != self.storage.dc_id:
session = Session(self, dc_id, await Auth(self, dc_id).create(), is_media=True)
await session.start()
for _ in range(3):
exported_auth = await self.send( exported_auth = await self.send(
functions.auth.ExportAuthorization( functions.auth.ExportAuthorization(
dc_id=dc_id dc_id=dc_id
) )
) )
session = Session( try:
self,
dc_id,
await Auth(self, dc_id).create(), is_media=True)
await session.start()
self.media_sessions[dc_id] = session
await session.send( await session.send(
functions.auth.ImportAuthorization( functions.auth.ImportAuthorization(
id=exported_auth.id, id=exported_auth.id,
bytes=exported_auth.bytes bytes=exported_auth.bytes
) )
) )
except AuthBytesInvalid:
continue
else:
break
else:
await session.stop()
raise AuthBytesInvalid
else: else:
session = Session(self, dc_id, self.storage.auth_key, is_media=True) session = Session(self, dc_id, self.storage.auth_key, is_media=True)
await session.start() await session.start()
self.media_sessions[dc_id] = session self.media_sessions[dc_id] = session