Как получить в Телеграм через 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.