Как в Telegram узнать username пользователя имея id

У меня есть список телефонных номеров. Мне нужно их совпадающее username и first_name в Telegram (если они подписались на Telegram). Я хочу получить эту информацию (имя пользователя и first_name) с помощью Telegram BOT API. Является ли это возможным? Как я могу это сделать? (с PHP) Это мой пример кода:

message->text != ‘/next_event_datetime’) exit; $dom = SunraPhpSimpleHtmlDomParser::file_get_html(‘http://laratalks.com/’); $element = $dom->find(‘#location header.section-header h3’, 0); $dateTime = $element->plaintext; $response = $client->sendMessage([ ‘chat_id’ => $update->message->chat->id, ‘text’ => $dateTime ]); > catch (ZeleninTelegramBotNotOkException $e) < //echo error message ot log it //echo $e->getMessage(); >
ali reza 30 июль 2016, в 00:16
Поделиться
Лучше не упоминать ваш пример кода, потому что он не связан с вашими частями вопроса
Seyfi 30 июль 2016, в 09:40

Подумайте об этом . вы бы хотели, чтобы кто-то, у кого был только ваш номер телефона, мог получить ваше имя и имя пользователя? Это было бы нарушением конфиденциальности и серьезным потенциальным ударом для человека, который хочет совершить фишинговую атаку на вас.

Как найти человека в Телеграмме по нику, имени, телефону

ceejayoz 30 июль 2016, в 14:45
Поделиться:
telegram-bot

2 ответа

Лучший ответ

Ну, вы можете получить имя пользователя и user_id от пользователя, когда у вас есть номер телефона. Я не знаю, как получить первое имя.

Просто отправьте контакт ( sendContact ) с любым sendContact и номером телефона. Telegram отвечает отправленным контактом, который включает user_id (если пользователь имеет Telegram) и username если пользователь установил его.

  1. Отправьте контакт с номером и и любое имя в любой чат (самостоятельно, группа, не имеет значения. )
  2. API Telegram ответит сообщением о передаче или некоторым кодом ошибки. Если сообщение было отправлено успешно, контакт в ответе может содержать более подробную информацию (имя пользователя и user_id).
Еще по теме:  Если создали группу в Телеграмме то можно удалиться с нее и выйти как администратор

Johannes Kuhn 30 июль 2016, в 18:51
Поделиться

Из-за Telegram Bot Doc метод ( sendContact ) предназначен для отправки существующего контакта (например, контактный номер лица A) лицу B. Абсолютно другая вещь из этого вопроса

Seyfi 30 июль 2016, в 21:32
Попробуй сам. Пусть бот отправит контакт и посмотрит полученное сообщение.
Johannes Kuhn 30 июль 2016, в 22:31

Я сделал тестового бота, чтобы проверить некоторые API здесь . Отправьте сообщение наподобие /raw sendContact phone_number 424314159 first_name bot_support и он ответит (слегка проанализированным) результатом JSON. Обратите внимание, что есть поле user_id .

Johannes Kuhn 30 июль 2016, в 22:42

Ваш бот такой: вы посылаете номер phone_number с user_id . Затем, если этот номер телефона подписан на телеграмму, ваш бот покажет сообщение о add contact с этим ARBITRARY user_name . Это похоже на добавление номера телефона в телефонную книгу моего мобильного телефона с моим именем, а НЕ с реальным именем пользователя. Проверь себя. Также это предусмотрено для клиента, а не для бота (чтобы добавить контакт)

Как установить имя пользователя в Telegram

Seyfi 31 июль 2016, в 11:14

когда я добавляю контакт с номером телефона в приложение для Android. telegram покажи мне имя пользователя контакта. Это возможно в API?

ali reza 31 июль 2016, в 19:14
Johannes Kuhn 05 авг. 2016, в 16:00
Seyfi 05 авг. 2016, в 18:07

Показать ещё 5 комментариев

Короче говоря, это НЕВОЗМОЖНО. Но прочитайте весь пост, это может быть полезно для вас.

Получение телефонного номера из Telegram и через Telegram Bot API является односторонним, это означает, что вы НЕ можете отправлять номер телефона и получать данные пользователей из телеграммы. (Примечание. Предполагается, что вы не добавляли пользователей по номеру телефона раньше)

Еще по теме:  Как в Телеграмме сделать так чиобы на твой канал для вступления надо подать заявку

Есть только два способа получить номер телефона пользователя в телеграмме:

1- Получите его с помощью специальной кнопки KeyboardButton . Таким образом Telegram отправляет пользователям номер телефона после того, как пользователь принял его. (Примечание: пользователь ДОЛЖЕН быть вашим подписчиком бота)

2- Спросите у него номер телефона, но он не является надежным, и вы должны проверить его другими способами (например, одобрить SMS и т.д.),

в конце концов, хотя эти два способа можно использовать для захвата номера телефона пользователя, но когда вы берете номер телефона, который у вас есть, ваш список не является полезным.

НО вы хотите захватить username с имеющимся номером телефона, это НЕВОЗМОЖНО из-за инфраструктуры Telegram Bot API.

Источник: overcoder.net

Рейтинг
( Пока оценок нет )
Загрузка ...