Izy
@Izy
Учу

Почему в библеотеке telethon немогу получить по id информацию о пользователе, а через @имя могу?

Пример кода который использую
from telethon import TelegramClient, sync
import myhelper
import socks
from telethon.tl.types import PeerUser, PeerChat, PeerChannel

config_f = myhelper.open_yaml('config.yaml')

client = TelegramClient("my_sessia", config_f["id"], config_f["hash"])
client.start()
client.connect()
print(client.get_entity((615435914)))

использую такие версии:
Telethon==1.1.1
Telethon-sync==1.0.4

пишет ошибку:
ValueError: Could not find the input entity for "615435914". Please read https://telethon.readthedocs.io/en/latest/extra/ba... to find out more details.
  • Вопрос задан
  • 7834 просмотра
Решения вопроса 2
@trofimovdev
Python
Нельзя (или можно, но об этом нигде не сказано) получить информацию о "чужом" пользователе по id.

Но, если мы хоть раз писали ему и у нас остался с ним диалог, то сначала нужно вызывать client.get_dialogs(), чтобы клиент "запомнил" пользователей.
После этого client.get_entity(id) будет работать нормально.
Ответ написан
@heycrazypeople
Есть небольшая лазейка как это можно обойти. Если спарить чат и вытащить все сообщения из него с помощью метода get_messages и в этом списке будет этот человек, то в кэш сессии запишется вся информация об этом человеке, тем самым ты сможешь получить информацию о неи по get_entity по его id.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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