nmkru
@nmkru
beginner python programmer

Как пройти двухфакторную авторизацию (2FA) с модулем Telethon?

Мне надо получить сессионный файл от юезрбота, чтобы взаимодействовать с ним через программу. Но не могу понять, как обойти двухфакторную авторизацию. При авторизации через программу запрашивается номер телефона аккаунта, который я ввожу, далее приходит код, который я тоже ввожу, и после должен запроситься пароль двухфакторной авторизации, согласно документации Телетона, но почему-то это не происходит и через время я получаю сообщение в телеграм, что кто-то пытался меня взломать.
Если я убираю облачный пароль с аккаунта телеграм, то программа вроде бы проходит хорошо и я получаю файл сессии но спустя пару минут меня выкидывает изо всех устройств в том числе обнуляется сессионый файл. Как можно обойти 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())
  • Вопрос задан
  • 16 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы