Как получить в Телеграм через Telethon оригинальные имя и фамилию пользователя?
Обычно получение пользователя выглядит так:
user = client.get_input_entity(user.id)
или так:
full_user = await client(GetFullUserRequest(user.id))
Но при получении данных о пользователе в Телеграм такими способами получаю некоторые данные о нем из сохраненного контакта. Для примера, если получаю имя full_user.users[0].first_name
или фамилию full_user.users[0].last_name
, то получаю те данные, которые сохранил я сам о пользователе в своем контакт листе.
Как получить имя first_name
и фамилию last_name
первоначально заданные самим пользователем?
Ответы (1 шт):
В данном случае это невозможно.
После сохранения пользователем в Телеграме другого пользователя
в контактах у сохранившего пользователя перезаписывается "оригинальное имя" и "оригинальная фамилия" для другого пользователя
.
Это происходит только у того пользователя, который сохранил у себя в контактах другого пользователя
.
Для всех остальных пользователей, которые еще не добавили другого пользователя
в контакты, данные о другом пользователе
выглядят первоначальными, как изначально задал этот другой пользователь
.
Для получения оригинального имени и фамилии другого пользователя
помогает удаление контакта.
Детали здесь: https://github.com/tdlib/td/issues/528#issuecomment-479239713.