Как получить чат id telegram bot

REDMOND

Как получить Telegram chat_id для конкретного пользователя?

Как получить пользователя chat_id в Telegram bot API? В документации говорится:

Целое | Уникальный идентификатор получателя сообщения — идентификатор пользователя или группового чата.

8 ответов

Обновления сообщений, которые вы получаете через getUpdates или ваш веб-перехватчик, будут содержать идентификатор чата для конкретного сообщения. Он будет содержаться под ключом message.chat.id .

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

Я считаю, что их документация предлагает нечто подобное здесь, https://core.telegram.org/bots#deep-linking-example. Вы можете использовать внешние ссылки , чтобы начать беседу, не требуя от пользователя ввода сообщения.

Используя Perl API, вы можете получить это следующим образом: сначала вы отправляете сообщение боту из Telegram, затем запускаете getUpdates, и там должен быть идентификатор чата:

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

Вы можете установить Perl API со страницы https://github.com/Robertof/perl-www- телеграмма-ботапи. Это зависит от вашей системы, но я легко установил это на моем сервере Linux:

Надеюсь это поможет

Вы можете просто поделиться контактом со своим ботом, и через / getUpdates вы получите объект «контакт».

Я создал бота для получения идентификатора пользователя или группового чата, просто отправьте /my_id боту Telegram @get_id_bot .

Он работает не только для идентификатора чата пользователя, но и для идентификатора группового чата.

Чтобы получить идентификатор группового чата, сначала вам нужно добавить бота в группу, затем отправьте /my_id в группу.

Когда пользователь общается с ботом, он отправляет информацию, как показано ниже:

Таким образом, вы можете получить доступ к чату, например:
$ update ["сообщение"] ["чат"] ["идентификатор"]

Предполагая, что вы используете PHP.

Предположим, сайт example.com хочет отправлять уведомления своим пользователям через бота Telegram. Вот что они могут сделать, чтобы включить уведомления для пользователя с ID 123.

REDMOND

  1. Создайте бота с подходящим именем пользователя, например @ExampleComBot
  2. Настроить веб-перехватчик для входящих сообщений
  3. Создайте случайную строку достаточной длины, например $ memcache_key = "vCH1vGWJxfSeofSAs0K5PA"
  4. Поместите значение 123 с ключом $ memcache_key в Memcache на 3600 секунд (один час)
  5. Покажите нашему пользователю кнопку https://telegram.me/ExampleComBot?start=vCH1vGWJxfSeofSAs0K5K5
  6. Настройте процессор веб-перехватчиков для запроса Memcached с параметром, который передается во входящих сообщениях, начинающихся с /start . Если ключ существует, запишите chat_id, переданный веб-перехватчику, как telegram_chat_id для пользователя 123. Удалите ключ из Memcache.
  7. Теперь, когда мы хотим отправить уведомление пользователю 123, проверьте, есть ли у него поле telegram_chat_id . Если да, используйте метод sendMessage в Bot API, чтобы отправить им сообщение в Telegram.

Сначала опубликуйте сообщение в чате, где указан ваш бот (канал, группа, в которой упоминается бот, или индивидуальный чат). Затем просто запустите:

Не стесняйтесь удалить часть | jq , если у вас не установлен jq, это полезно только для красивой печати. У вас должно получиться что-то вроде этого:

enter image description here

Вы можете увидеть идентификатор чата в возвращенном объекте json вместе с названием чата и связанным сообщением.

Есть бот, который повторяет ваш идентификатор чата при начале разговора.

Просто найдите @chatid_echo_bot и нажмите /start . Он отобразит ваш идентификатор чата.

Chat id bot screenshot

Другой вариант — @getidsbot , который дает вам гораздо больше информации. Этот бот также предоставляет информацию о перенаправленном сообщении (от пользователя к пользователю, идентификаторы чада и т. Д.), Если вы пересылаете сообщение боту.

Как получить Chat ID Телеграм?

Chat ID Телеграм нужен разработчикам для написания скриптов и программ. Давайте разберемся как же его получить.

  • С помощью адресной строки.
  • С помощью сервиса(скрипта).
С помощью адресной строки.

Создаем бота и пишем ему любое сообщение.
В адресной строке браузера выполняем следующий запрос:
https://api.telegram.org/bot342844119:AAHXaO-D-XoCD-ZCVPdu0IbE9apIdfuRIRxk/getUpdates,

где 342844119:AAHXaO-D-XoCD-ZCVPdu0IbE9apIdfuRIRxk — Bot Token

В ответ получаем результат в json формате, в котором содержится Chat ID.

Как получить Chat ID Телеграм?

С помощью сервиса(скрипта).

Данный сервис временно не работает!

Если Вы хотите узнать, как отправить сообщение в телеграм использую php, то читайте следующую статью.

Telegram Bot как узнать chat_id зная username?

попробовал проследить выполнение самого запроса
5a05ac9921103896469684.png
Если я подставляю вместо того, что выделано синим свой @username или %40username телеграм бот не отправляет мне сообщение, выдает Bad Request: chat not found
Если я подставлю вместо того, что выделано синим свой chat_id я получаю сообщение.

получается sendMessage перестал отправлять сообщение по @username.
взглянул API вроде как указано, что по @username можно отправлять сообщение, по факту ничего не отправляется.
может я загнулся под конец дня. ) у всех так ?

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *