Telethon Authorization сбрасываются все сессии после авторизации
У меня есть проблема со скриптом на Python с использованием библиотеки telethon - сбрасываются все сессии после авторизации.
Скрипт может авторизовывать пользователей двумя способами:
- код в приложение telegram или
- qr-code.
Для авторизации через код используется номер телефона и код пользователя, полученные в приложении, а также общие для всех api_id
и api_hash
. При этом двухфакторная аутентифиация учитывается путем подставления пароля пользователя. В итоге у пользователя добавляется еще одно устройство в приложении telegram.
После успешной авторизации на некоторых аккаунтах через время (около минуты) происходит вылет из всех сессий и я не понимаю почему.
На других же аккаунтах проблем после авторизации нет, можно подключать любое количество устройств. Я заметил, что на аккаунте, на котором происходит вылет из всех сессий установлена почта для авторизации (речь идет именно о почте для авторизации, а не для почты которая используется для установки и сброса двухфакторной аутентификации). При этом на других аккаунтах почту нельзя никак добавить.
Я находил информацию о том, что telegram сам решает должна быть привязана почта к аккаунту, или нет. Возможно ли, что telegram требует также подтверждение через почты, но мы этого нигде не видим?
В telethon нет способа принудительно отправить код подтверждения на почту, более того, после вызова send_code_request(phone)
, всегда возвращается auth.SentCodeTypeApp
, что означает, что код придет только в само приложение.
Экспериментировал с сессиями, сохранял как в файл, так и в виде строки, но ничего не помогает.
Кто-нибудь сталкивался с подобным вылетом сессий? Может ли наличие почты повлиять на сброс сессий, или это может зависеть от чего-то другого? Может быть есть решение этой проблемы на других языках программирования?
Использую Python 3.9.2, telethon 1.40.0