Задать вопрос

Открыть профиль пользователя телеграм, зная его ID?

Есть пользователи с username, а есть без него.
Я получаю их ID, но как я могу открыть профиль этого пользователя?

Ссылки типо "tg://user?id=" не работает(

Что можно сделать, неужели нельзя узнать профиль любым другим способом?
Спасибо.
  • Вопрос задан
  • 85316 просмотров
Подписаться 5 Простой Комментировать
Решения вопроса 1
@pembrock
Если речь о боте, то в боте можно вывести ссылку на пользователя(и соответственно открыть его профиль) следующим образом:
1. <a href="tg://user?id=123456789">inline mention of a user</a>' с parse_mode = html
2. [inline mention of a user](tg://user?id=123456789) с parse_mode = MarkdownV2


Плюс есть условия при которых это возможно осуществить:
Если пользователь общался с ботом, отправлял колбэк запрос через клавиатуру бота или является членом группы(чата) в которой вы хотите это сделать
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Lord_Dantes Автор вопроса
Если открыть с телефона, профиль открывается.
Ответ написан
Комментировать
@s-a-u-r-o-n
В общем случае сделать ссылку, открывающую профиль произвольного пользователя, или просмотреть профиль пользователя по ID (как в ICQ), не получится.

Функция протокола getFullUser которая возвращает информацию о пользователе, принимает на вход не просто ID пользователя (как можно было бы предположить), а пару ID пользователя — access hash. Откуда берётся access_hash? Один из способов — метод resolveUsername, возвращающий пару ID пользователя — access hash по имени пользователя. Очевидно, что если пользователь не задал имя пользователя, этим методом вы не воспользуетесь.

Также access_hash содержится в контактах, в пересланных сообщениях, в списке участников чата.

Ссылки вида <a href="tg://user?id=123456789"> в общем случае не будут работать (вернее, будут отображаться как обычный текст), если клиент Telegram не закэшировал access_hash из какого-либо источника.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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