Телемарафон: проверьте, зарегистрирован ли экземпляр клиента

#python #telegram #telethon

#python #telegram #телемарафон

Вопрос:

Я пытаюсь войти в учетную запись пользователя с помощью telegram bot API, и я не могу найти способ проверить, имеет ли экземпляр клиента доступ к учетной записи…

это мой экземпляр:

 client = TelegramClient(client_name, API_ID, API_HASH)
  

с помощью client.start() него определяется, вошел ли пользователь в систему или нет, поэтому у меня тоже должен быть доступ к этому…

Комментарии:

1. Без дополнительной информации я не могу дать вам отличный ответ. Я лично погрузился бы в исходный код , если поведение не было задокументировано. В противном случае вы можете рассмотреть возможность открытия проблемы на GitHub, чтобы обратиться за помощью к сопровождающим. Похоже, что они довольно активны на доске вопросов, и я думаю, что были бы рады вам помочь.

Ответ №1:

Вам нужно использовать get_me() : он вернет текущего зарегистрированного пользователя или None , если его нет.

 client = TelegramClient(client_name, API_ID, API_HASH)
if (await client.get_me()):
    # client has an user logged in
else:
    # client hasn't an user logged in 
  

Кроме того, если вы посмотрите на исходный код, вы увидите, что start() он делает то же самое.

Комментарии:

1. Почетное упоминание о client.is_user_authorized котором имеет больше смыслового смысла.