Мне надо получить сессионный файл от юезрбота, чтобы взаимодействовать с ним через программу. Но не могу понять, как обойти двухфакторную авторизацию. При авторизации через программу запрашивается номер телефона аккаунта, который я ввожу, далее приходит код, который я тоже ввожу, и после должен запроситься пароль двухфакторной авторизации, согласно документации Телетона, но почему-то это не происходит и через время я получаю сообщение в телеграм, что кто-то пытался меня взломать.
Если я убираю облачный пароль с аккаунта телеграм, то программа вроде бы проходит хорошо и я получаю файл сессии но спустя пару минут меня выкидывает изо всех устройств в том числе обнуляется сессионый файл. Как можно обойти 2ый пароль и получить файл сессии для работы в программе?
import os
from telethon import TelegramClient
from dotenv import load_dotenv, find_dotenv
from telethon.errors import SessionPasswordNeededError
# Загрузка переменных окружения
load_dotenv(find_dotenv())
api_id = int(os.getenv('API_ID'))
api_hash = os.getenv('API_HASH')
phone_number = os.getenv('PHONE_NUMBER')
cloud_pass = os.getenv('CLOUD_PASS')
client = TelegramClient(
f'semenk_{phone_number}',
api_id,
api_hash
)
async def main():
try:
client.start(phone=phone_number, password=cloud_pass)
print("Клиент запущен")
# await client.sign_in(phone=phone_number)
except SessionPasswordNeededError:
password = input('Введите облачный пароль: ')
await client.sign_in(password=password)
async for dialog in client.iter_dialogs():
print(dialog.name, 'has ID', dialog.id)
with client:
client.loop.run_until_complete(main())