Telethon Python Ошибка telethon.errors.rpcerrorlist.PhoneCodeExpiredError: The confirmation code has expired (caused by SignInRequest)

Возникает ошибка внутри sign_in метода telethon.errors.rpcerrorlist.PhoneCodeExpiredError: The confirmation code has expired (caused by SignInRequest). Может кто то разбирается с чем это может быть связано и в какой момент он становится устаревшим этот код.

Имею 2 функции последовательно вызываю первую для отправки кода, затем вторую для входа в аккаунт.

async def send_code_to_telegram(session, api_id, api_hash, proxy):
    phone = f"+{session}"
    print(f"попытка создать сессию: SESSION: {session}; api_id: {api_id};"
          f" api_hash: {api_hash}; used_proxy: {proxy};")
    client = TelegramClient(str(session), api_id, api_hash, proxy=proxy)
    print('создал клиент')
    if not client.is_connected():
        await client.connect()
    # session_str = client.session.save()
    sender_code = await client.send_code_request(phone)
    # await client.disconnect()
    return sender_code.phone_code_hash, client


async def account_launch(client, api_id, api_hash, proxy, phone, code, password, phone_code_hash):
    # if not client.is_connected():
    #     await client.connect()
    print(phone_code_hash)
    await client.sign_in(phone, code=code, phone_code_hash=phone_code_hash, password=password)

Ответы (1 шт):

Автор решения: kattyflanker

Ошибка PhoneCodeExpiredError возникает, если код подтверждения просрочен (обычно через 1–2 минуты). Важно: используйте один и тот же клиент (TelegramClient) для send_code_request и sign_in, не отключайте и не пересоздавайте его между вызовами — иначе код становится "недействительным".

→ Ссылка