Как вычислить номер телефона в Телеграмме по id

Я прошел через многие форумы и API телеграммы. Но не смог получить правильный ответ. Ну вот мой главный вопрос. У меня есть список пользователей с их мобильными номерами в моей базе данных, и из всех этих я хочу отправить их сообщения в свою телеграмму. Поэтому для этого мне понадобится их идентификатор чата. Как я могу получить это по их MobileNumber? Если у меня будет идентификатор чата, я могу отправить ему сообщение, используя следующую ссылку. Telegram php example отправить сообщение Я посетил следующую ссылку, чтобы получить идентификатор чата вручную из BOT самим пользователем. Но я хочу автоматического сценария. Как получить Telegram chat_id для конкретного пользователя? Благодарю.

Durvesh Parmar 03 июнь 2016, в 13:14
Поделиться

Пожалуйста, прочитайте это (как спросить) и это (mcve), прежде чем спрашивать, так как они помогут вам получить больше и лучшие ответы от сообщества.

Bonatti 03 июнь 2016, в 12:04
Спасибо за ваш ответ. Я пройду через это.
Durvesh Parmar 03 июнь 2016, в 12:35
Поделиться:
telegram-bot

3 ответа

Я не знаком с PHP. но есть способ сделать это:

Как вы знаете, вы можете отправить контакт в телеграмме, используя свой номер телефона и имя firsName (не обязательно быть настоящим именем контакта, которому принадлежит этот номер).

После отправки контакта в chatID (независимо от того, какой чатID вы выберете, может быть вашим личным идентификатором чата), вы можете найти его UserID.

Теперь, если человек существует в Telegram, вы получите длинный номер, который обозначает его/ее UserID или chatID, но если не длинный будет 0.

В С# я использовал этот фрагмент кода, чтобы узнать, существует ли номер телефона в телеграмме или нет, и он работал очень хорошо.

string s = «+44. «; //the phone number var req2 = await bot.MakeRequestAsync(new SendContact(update.Message.Chat.Id, s, «Name»)); if(req2.Contact.UserId == 0) < Console.WriteLine(«The contact does not exist in Telegram»); >else < Console.WriteLine(«The contact exists in telegram with UserID:»,req2.Contact.UserId.ToString()); >

Я считаю, что это можно сделать и на PHP.

Naser.Sadeghi 07 март 2017, в 10:24
Поделиться

После стольких исследований — я чуть не попробовал что-то похожее на ваш ответ. Спасибо за ваш ответ, кстати.

Durvesh Parmar 27 янв. 2018, в 13:42
Naser.Sadeghi 28 янв. 2018, в 19:52

Существует ограничение на число user_ids, которые вы можете получить с помощью этого метода. Вы можете использовать «sendContact» только 20 раз в день. После этого любая попытка использовать sendContact для любого chat_id приведет к «Ошибка: 429 Too Many Requests: повторите попытку после XXXX». Но все остальные функции бота остаются без изменений. Это не очень хорошо задокументировано.

Еще по теме:  Вайбер Телеграмм что еще есть

Mehrdad Nazmdar 02 апр. 2018, в 08:56
Naser.Sadeghi 06 апр. 2018, в 20:02
Показать ещё 2 комментария

С помощью Telegram bot вы можете отправлять сообщения только тем пользователям, которые начали общаться с вашим ботом. вы можете получить их chat_id (а не номер телефона) из полученного запроса.

Поэтому вы не можете отправлять сообщения другим людям, даже если у вас есть их номера телефонов.

Amir Zojaji 29 март 2017, в 02:47
Поделиться
Я согласен. Я нашел ту же информацию! Спасибо за Ваш ответ.
Durvesh Parmar 27 янв. 2018, в 13:40

Вы не можете использовать ботов, чтобы найти пользователя в Telegram, используя свой номер телефона.

ariaby 06 июнь 2016, в 21:38
Поделиться

Эй, Ариаби, спасибо за ваш комментарий. Так есть ли какой-либо другой способ получения идентификатора чата, используя номер телефона в TELEGRAM API?

Durvesh Parmar 15 июнь 2016, в 19:03

Нет, и даже если у вас есть chat_id, вы не можете отправить им сообщение, потому что пользователь должен начать разговор с ботом.

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

Как получить user_id номера телефона в telegram

Я создаю бота, чтобы отправить сообщение нескольким контактам в Telegram. Пользователь может поделиться контактом с ботом. тогда я использую getUpdates и получаю номер телефона. Для использования метода sendMessage мне нужен chat_id. теперь, как получить chat_id пользователя с его номером телефона? Есть ли способ лучше этого метода?

defectivepixel 17 Янв 2017 в 02:05

3 ответа

Лучший ответ

Чтобы интернет-сервисы оставались в живых, им нужно бороться с любым типом спама. В результате боты Telegram не могут начать отправлять сообщения пользователям, которые еще не начали использовать бот!

Только когда пользователь начинает использовать бота, вы можете видеть его / ее chat_id и отправлять ему сообщения.

При этом, если пользователь (пользователь A) отправляет вам contact сведения о другом пользователе (назовем этого пользователя B), вы можете увидеть user_id пользователя B. Однако вы все еще можете не отправлять никаких сообщений напрямую, если только он не начал использовать бота раньше.

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

Для этого сначала нужно создать сообщение contact . Неважно, кто отправил сообщение, даже бот может отправить сообщение. Идея состоит в том, чтобы Telegram заполнил user_id нового contact сообщения. Вы можете прочитать об этом объекте здесь: Контактный объект

После отправки сообщения вы получите ответ от сервера вместе с сообщением, что ваш бот только что отправил. Поле contact этого вновь созданного сообщения содержит информацию о пользователе, с которым вы только что поделились его контактом, возможно, вместе с его / ее телеграммой user_id , которая совпадает с идентификатором чата пользователя.

Сразу после этого вы можете удалить свое сообщение с помощью метода deleteMessage.

Ниже приведен пример этого в простом формате запроса / ответа, но вам, вероятно, следует использовать для этого структуру:

Еще по теме:  Айпи по нику в ТГ

https://api.telegram.org//sendContact?chat_id=123456789first_name=Some+Random+String

Ответ на этот запрос следующий:

< «ok»: true, «result»: < «message_id»: 12345678987654321, «from»: < «id»: 987654321, «first_name»: «The Bot Name», «username»: «mybot_bot» >, «chat»: < «id»: 123456789, «first_name»: «Your Chat Party», «last_name»: «Your Chat Party», «type»: «private» >, «date»: 1484612850, «contact»: < «phone_number»: «989123456789», «first_name»: «Some Random String», «user_id»: 654789321 >> >

«user_id»: 654789321 это та часть, которая нас интересует. Теперь вы можете удалить свое сообщение.

Soroush Falahati 25 Ноя 2017 в 17:17

Знание идентификатора пользователя может быть полезно для бана и отмены. Вот как я это делаю на своем веб-сайте:

1) создайте небольшой случайный код и покажите его пользователю, сказав ему отправить его вашему боту.

2) прочитайте сообщение, используя getUpdate. Итак, в PHP:

$url = «https://api.telegram.org/bot»._TELEGRAM_BOT_TOKEN.»/getUpdates?offset=-1″; $response = file_get_contents($url, false, NULL); $jsondata = json_decode($response,true); echo «»; print_r($jsondata); echo «
«;

Вы получите 3 информации:

$chat_id = $jsondata[‘result’][0][‘message’][‘chat’][‘id’]; $first_name = $jsondata[‘result’][0][‘message’][‘chat’][‘first_name’]; $text = $jsondata[‘result’][0][‘message’][‘text’];

Вам просто нужно сравнить прочитанный вами текст с кодом, который вы просите пользователя отправить. Если это то же самое, вы можете прочитать chat_id и first_name.

На данный момент, у вас есть chat_id, которого достаточно, чтобы написать пользователю в «приват». Для этого не нужно знать user_id.

Если вам нужен идентификатор пользователя, вы должны отправить еще одно сообщение. Как этот:

$num = «+55888888888888»; $url = «https://api.telegram.org/bot»._TELEGRAM_BOT_TOKEN.»/sendContact?chat_id=».$chat_id.».$num.».$first_name; $response = file_get_contents($url, false, NULL); $jsondata = json_decode($response,true); echo «»; print_r($jsondata); echo «
«;

Как видите, чтобы отправить это второе сообщение, вам нужно 3 информации:

1) номер телефона пользователя. Вы не можете получить это от Telegram. Это означает, что вы должны спросить об этом у пользователя.

2) chat_id. Вы получаете это от предыдущего звонка

3) first_name вы также получаете от предыдущего вызова

User_id находится по адресу:

$jsondata[‘result’][‘contact’][‘user_id’]

1) Кажется, Telegram не проверяет first_name. Поэтому, если вы отправляете для второго звонка другое имя, отличное от того, которое вы получили от первого звонка, это не имеет значения (но, возможно, более безопасно отправлять то же самое. Во всех случаях вы получаете его от первого звонка!)

2) если вы сделаете второй звонок с неправильным номером телефона, вы получите результат без ввода идентификатора пользователя.

Итак, вы должны сделать:

$a = isset( $jsondata[‘result’][‘contact’][‘user_id’]); if ($a == false) < $user_id = 0; // No user_id >else

3) Номер телефона должен иметь код страны. +5599888887777 в порядке, но 99888887777 нет и даст вам ответ без записи user_id.

Теперь вы можете общаться с пользователем, используя chat_id, а также забанить его из группы или канала, используя его user_id.

Peter 5 Дек 2018 в 12:19

Существует проблема: вы не можете отправить сообщение от бота пользователю как инициатору разговора, даже если у вас есть user_id.

Источник: question-it.com

Как скрыть номер в Телеграм и способы узнать чужой

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

Еще по теме:  Ddos атака на аккаунт Телеграмм

Недорогое продвижение Телеграм:

Подписчики — живые на канал, в группу

Просмотры — на посты и видео

Как в Telegram скрыть номер и кто может видеть телефон

Пусть Telegram и считается самой защищённой социальной сетью среди прочих, некоторые люди продолжают опасаться за безопасность своих данных и жаждут полной конфиденциальности. В этой статье речь пойдёт о том, как скрыть номер телефона в Телеграмм, и можно ли это сделать.

Если Вы задаётесь подобным вопросом, то попробуйте понять, каким образом осуществляется обмен контактными данными в мессенджере.

Оцените на нашем сайте возможность нагнать подписчиков в Телеграм быстро и недорого, и следите за тем, как популярность не заставит ждать Ваш канал или группу ни секунды.

При регистрации Вы указываете мобильный, чтобы подтвердить создание аккаунта и прикрепить его к данному номеру. Без этого действия, создать аккаунт в Telegram и получить к нему доступ нельзя. На указанный телефон поступает код подтверждения, после введения которого Вы становитесь полноправным пользователем приложения.

Как скрыть номер в Telegram и кто может видеть телефон

Павел Дуров ввёл такую технологию не случайно. Авторизация по номеру телефона считается самым надёжным способом уберечь Ваш аккаунт от злоумышленников. Ведь без мобильного нельзя зайти в учётную запись пользователя.

Таким образом, зарегистрироваться без указания телефона Вы не сможете.

Обмен контактными данными осуществляется автоматически после авторизации учётной записи. Все контакты, которые сохранены у Вас в телефонной книжке, переносятся в Telegram. Логично, что Вам видны их номера телефонов, ведь Вы их знали ещё до регистрации в приложении.

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

Конфиденциальность данных важна не только в вопросе личной информации, но так же и при заказе голосов в Телеграм. Lowcostsmm обеспечит полную анонимность и конфиденциальность при покупке.

Остальным пользователям Telegram, которых нет в списке Ваших контактов, номер телефона не доступен. Вместо него в соответствующей строке они будут видеть «unknown».

Для того, чтобы показать номер, Вам следует в диалоге с соответствующим человеком открыть меню настроек и выбрать пункт «Отправить контактные данные».

В секретных чатах всем участникам видны номера друг друга. Чтобы скрыть свой телефон, необходимо быть непосредственным создателем этого чата. Так, Вы всегда сможете удалить любых участников и занести их в чёрный список.

Вывод: регистрация основана на привязке номера телефона к профилю. Людям, у которых Вы уже есть в списке контактов, станет автоматически виден и Ваш телефон в Telegram. Это вполне логично. От всех остальных Ваш мобильный изначально скрыт, пока Вы сами не решите его показать.

Заказать услуги раскрутки недорого можно ниже

Источник: avi1.ru

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