Как получить chat id telegram бота
Перейти к содержимому

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

  • автор:

Руководство администратора

С помощью смарт-действия «Отправить HTTP-запрос» можно автоматизировать общение через бот мессенджера Telegram.

1. Если вы еще не зарегистрированы в Telegram, пройдите регистрацию.

2. Получите идентификатор нового бота : обратитесь к боту @BotFather c требованием создать нового бота (команда /newbot ).

3. Получите идентификатор беседы с ботом :

• Откройте диалог со своим созданным ботом и напишите ему произвольное сообщение,

• Откройте в браузере ссылку

где — идентификатор, полученный от @BotFather,

• В полученном json-ответе найдите значение в параметре result->message->chat->id , это и есть .

URL для отправки сообщения боту формируется по образцу:

https://api.telegram.org/bot < bot_token >/sendMessage?chat_id= < chat_id >&text=

URL для получения последнего сообщения от бота формируется по образцу:

Если возвращается одно сообщение, то json имеет вид:

Чат-бот может вернуть сразу несколько последних ответов — json вида:

Первое непрочитанное ответное сообщение доступно как значение атрибута result.message[0].text , а доступен как значение атрибута result.message[0].chat.id (этот параметр важен, поскольку бот может вести несколько чатов одновременно).

Простейший пример обмена сообщениями с чат-ботом Telegram описан ниже.

smart_http_bot_send_1

Смарт-пакет для отправки сообщения боту.

smart_http_bot_send_4

Смарт-действие для отправки сообщения боту.

Вариант смарт-действия для отправки сообщения боту с использованием двух параметров:

smart_http_bot_send_3

Вариант смарт-действия для отправки сообщения боту с использованием двух параметров.

warning_icon

Для данного кейса не поддерживаются зашифрованные задачи

smart_http_bot_receive_5

Смарт-пакет для работы с курсом валюты в формате JSON.

Обратите внимание на необходимость очистки ответа веб-сервиса от лишних символов, эти объяснения даны здесь. Поэтому во втором смарт-действии для выделения текста сообщения используется выражение TSQL:

select top 1 JSON_VALUE ( @ActionResult8639, ‘$.HttpResponse.ResponseContent.result[0].message.text’ )

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

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

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

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

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

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

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

5a05ac9921103896469684.png

попробовал проследить выполнение самого запроса

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

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

вот теперь думаю, как узнавать chat_id .

  • Вопрос задан более трёх лет назад
  • 116518 просмотров

1 комментарий

Простой 1 комментарий

Как узнать chat id для канала (группы) Telegram

Как узнать chat id для канала (группы) Telegram

Заметки айтишника

Иногда требуется, чтобы бот Telegram, которого вы создаете, умел постить сообщения в сообщество или группу от имени этой самой группы. Но вот незадача — для отправки сообщения нужен ID чата, в который это самое сообщение отправлять. Нужно его каким-то образом получить. Итак, начнем.

Для начала делаем канал публичным. После получения id можно будет снова сделать его частным, если требуется.

Вводим адрес в строку браузера, изменив выделенное на своё:

https://api.telegram.org/botBOT:TOKEN/getChat?chat_id=@имяканала

BOT:TOKEN — токен бота, полученный при его создании.

@имяканала — создается при переводе канала в публичный.

В ответ получите закодированное в json сообщение:

Расшифровывается оно так:

ok: true — запрос успешно выполнен

id: -100xxxxxxx — это и буде ID чата, вводится со знаком минус.

UPDATE: Сделал сервис для быстрого получения Chat id — ССЫЛКА

  • ← Как получить API ключ AmoCRM
  • Подгрузка страниц на AJAX для элементов каталога в Битрикс →

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

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