Как узнать id группового чата в telegram
Перейти к содержимому

Как узнать id группового чата в telegram

  • автор:

Telegram Bot — как получить идентификатор группового чата?

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

Для получения идентификатора чата я использую message.chat.id, когда бот участвует в чате, но я не могу найти его, чтобы получить идентификатор группового чата.

Чтобы получить идентификатор группового чата, сделайте следующее:

Добавьте Telegram BOT в группу.

Получить список обновлений для вашего BOT:

Ищите объект «чат»:

Это образец ответа при добавлении вашего BOT в группу.

  1. Используйте «id» объекта «chat» для отправки ваших сообщений.

Вот последовательность, которая работала для меня после нескольких часов борьбы:

Предположим, имя бота my_bot .

1- Добавить бота в группу.
Перейдите в группу, нажмите на имя группы, нажмите «Добавить участников», в окне поиска найдите своего бота, например: @my_bot, выберите своего бота и нажмите «Добавить».

2- Отправьте фиктивное сообщение боту.
Вы можете использовать этот пример: /my_id @my_bot
(Я пробовал несколько сообщений, не все сообщения работают. Пример выше работает нормально. Возможно, сообщение должно начинаться с /)

3- Перейдите на следующий URL: https://api.telegram.org/botXXX:YYYY/getUpdates
замените XXX: YYYY на свой токен бота.

4- Ищите «chat»: <"id": - zzzzzzzzzz,
-zzzzzzzzzz — это идентификатор вашего чата (с отрицательным знаком).

5- Тестирование: вы можете проверить отправку сообщения группе с помощью локона:

Если вы пропустите шаг 2, обновлений для группы, которую вы ищете, не будет. Также, если есть несколько групп, вы можете найти имя группы в ответе («title»: « group_name »).

Как получить 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, то читайте следующую статью.

Связь формы заказа на сайте с Телеграм

Оповещения с интернет магазина в телеграмм

1. Как работает оповещение в телеграмм и для чего это нужно?

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

О скорости

Что происходит при работе с email-уведомлениями:

  • Формирование данных
  • Вызов функции mail() для отправки сообщения
  • Получение сообщения на электронную почту
  • Уведомление

Разберем очень кратко алгоритм отправки сообщения

При использовании функции mail() происходит множественный обмен между серверами, на что уходит «куча» времени. В итоге от заказа до получения уведомления может пройти несколько секунд.

В случае с telegram все происходит моментально. От заказа до получения оповещения проходит не более секунды. Чуть позже мы на практическом примере разберем наглядно этот пример.

Как это происходит с telegram:

Отправка уведомлений с сайта в телегерамм

  • Формирование данных в ссылку
  • Вызов api telegram
  • Получение сообщения в телеграмм
  • Уведомление

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

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

2.Создание бота

На создания бота уйдет всего несколько секунд.

  1. Заходим в telegram
  2. В поле поиска вбиваем @BotFather и открываем отца бота
  3. Отправляем команду — /start
  4. Создаем нового бота — /newbot
  5. Задаем имя бота, например — storebot
  6. Задаем username нашего бота, например storebot или store_bot . Важно в окончании указать префикс bot или _bot

Наш бот создан, а в ответ мы получили сообщение с token :

Use this token to access the HTTP API:
397123976:AAHoeZRWL6YSLHgvFGgAj-sy_HEHCS7TvZQ

После всех манипуляций открываем новоиспеченного бота @storebot (естественно у вас username бота свой) и отправляем команду /start

Узнать id чата Телеграмм

В чат с ботом и будут приходить уведомления о заказах.
Чтобы узнать id чата, воспользуемся методом getUpdates

Вместо <token> используем полученный ранее token
Ссылка будет выглядеть следующим образом:

Открываем эту ссылку в браузере
Получаем ответ в виде json.
Находим фрагмент:

Это и есть id чата.

3.Связываем телеграмм и форму на сайте

Допустим �� так выглядит стандартная форма заказа в магазине, она состоит из двух полей: Имя и телефон.

[pastacode lang=»markup» manual=»%3Cform%20method%3D%22post%22%3E%0A%0A%09%3Cinput%20name%3D’name’%20type%3D’text’%20placeholder%3D’%D0%92%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5%20%D0%B8%D0%BC%D1%8F’%20%2F%3E%0A%09%0A%09%3Cinput%20name%3D’tel’%20type%3D’text’%20placeholder%3D’%D0%92%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5%20%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD’%20%2F%3E%0A%09%0A%09%3Cinput%20type%3D’submit’%20%2F%3E%0A%09%0A%3C%2Fform%3E» message=»» highlight=»» provider=»manual»/]

Необходимо сформировать сообщение из полученных из формы данных, а также занести в переменные token и id чата.

[pastacode lang=»php» manual=»if(isset(%24_POST%5B’name’%5D))%7B%24name%20%3D%20%24_POST%5B’name’%5D%3B%7D%0A%0Aif(isset(%24_POST%5B’tel’%5D))%7B%24tel%20%3D%20%24_POST%5B’tel’%5D%3B%7D%0A%0A%24mess%20%3D%20%22%D0%98%D0%BC%D1%8F%3A%20%7B%24name%7D%5Cn%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%3A%20%7B%24tel%7D%22%3B%0A%0A%24token%3D’397123976%3AAAHoeZRWL6YSLHgvFGgAj-sy_HEHCS7TvZQ’%3B%2F%2F%D0%9D%D0%B0%D1%88%20token%0A%0A%24query%20%3D%20%5B%0A%20%20%20%20’chat_id’%20%3D%3E%20276578256%2C%2F%2Fid%20%D1%87%D0%B0%D1%82%D0%B0%0A%20%20%20%20’parse_mode’%20%3D%3E%20’HTML’%2C%0A%20%20%20%20’text’%20%3D%3E%20%24mess%0A%5D%3B» message=»Формирование сообщения» highlight=»» provider=»manual»/]

Проверяем все ли необходимые данные ввел пользователь, если да то выполняем тело условия.

4.Тестирование. Делаем пробный заказ.

При помощи функции file_get_contents делаем запрос к полученному адресу.

[pastacode lang=»php» manual=»if(%24name%20and%20%24tel)%7B%0A%09%09%09%0A%09file_get_contents(sprintf(%0A%09%09%09%09%09%09%0A%09%09’https%3A%2F%2Fapi.telegram.org%2Fbot%25s%2FsendMessage%3F%25s’%2C%20%0A%0A%09%09%24token%2C%20http_build_query(%24query)%0A%09%0A%09))%3B%0A%0A%7D» message=»Запрос к api telegram» highlight=»» provider=»manual»/]

Получаем ответ в наш чатик.

Сравнение скорости

Скорость отправки сообщений в телеграмм

Чисто условно сравним время от нажатия на кнопку заказать до уведомления .

[pastacode lang=»php» manual=»%3C%3Fphp%0A%0Aif(isset(%24_POST%5B’name’%5D))%7B%24name%20%3D%20%24_POST%5B’name’%5D%3B%7D%0A%0Aif(isset(%24_POST%5B’tel’%5D))%7B%24tel%20%3D%20%24_POST%5B’tel’%5D%3B%7D%0A%0A%24to%20%3D%20%22%3Cnew%40zakaz.ru%3E%22%20%20%3B%20%2F%2F%D0%9F%D0%BE%D1%87%D1%82%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%0A%24subject%20%3D%20%22%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%22%3B%20%0A%0A%24mess%20%3D%20%22%D0%98%D0%BC%D1%8F%3A%20%7B%24name%7D%5Cn%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%3A%20%7B%24tel%7D%22%3B%0A%0A%24token%3D’397123976%3AAAHoeZRWL6YSLHgvFGgAj-sy_HEHCS7TvZQ’%3B%0A%24query%20%3D%20%5B%0A%20%20%20%20’chat_id’%20%3D%3E%20276583256%2C%0A%20%20%20%20’parse_mode’%20%3D%3E%20’HTML’%2C%0A%20%20%20%20’text’%20%3D%3E%20%24mess%0A%5D%3B%0A%0A%24headers%20%3D%20%22MIME-Version%3A%201.0%5Cr%5Cn%22%3B%0A%24headers%20.%3D%20%22Content-type%3A%20text%2Fplain%3B%20charset%3Dutf-8%5Cr%5Cn%22%3B%0A%24headers%20.%3D%20%22From%3A%20new%40zakaz.ru%5Cr%5Cn%22%3B%0A%0Aif(%24name%20and%20%24tel)%7B%0A%09%0A%09mail(%24to%2C%20%24subject%2C%20%24mess%2C%20%24headers)%3B%0A%09%09%09%09%09%0A%09file_get_contents(sprintf(‘%0A%09%0A%09%09https%3A%2F%2Fapi.telegram.org%2Fbot%25s%2FsendMessage%3F%25s’%2C%20%0A%09%09%09%09%09%09%09%20%20%0A%09%09%24token%2C%20http_build_query(%24query)%0A%09%09%09%09%09%09%09%20%0A%09))%3B%0A%09%0A%7D%0A%0A%3F%3E%0A%0A%3Cform%20%20method%3D%22post%22%3E%0A%0A%09%3Cinput%20name%3D’name’%20type%3D’text’%20placeholder%3D’%D0%92%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5%20%D0%B8%D0%BC%D1%8F’%20%2F%3E%0A%09%0A%09%3Cinput%20name%3D’tel’%20type%3D’text’%20placeholder%3D’%D0%92%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5%20%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD’%20%2F%3E%0A%09%0A%09%3Cinput%20type%3D’submit’%20%2F%3E%0A%09%0A%3C%2Fform%3E%0A%0A» message=»Отправка сообщений на почту и в телеграмм» highlight=»» provider=»manual»/]

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

Telegram Bot — как получить идентификатор группового чата?

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

Для получения идентификатора чата я использую message.chat.id, когда бот участвовал в чате, но который я должен использовать для получения идентификатора группового чата, не могу найти /

Чтобы получить идентификатор группового чата, сделайте следующее:

Добавьте Telegram BOT в группу.

Получите список обновлений для вашего BOT:

Найдите объект «чат»:

Это образец ответа, когда вы добавляете своего BOT в группу.

Используйте «id» объекта «chat» для отправки сообщений.

(Если вы создали новую группу с ботом, и вы только получаете <"ok":true,"result":[]>, удалите и снова добавьте бота в группу)

Вот последовательность, которая сработала для меня после нескольких часов борьбы:

Предположим, что имя бота — my_bot .

1- Добавить бота в группу.
Перейдите в группу, щелкните имя группы, нажмите «Добавить участников», в поле поиска найдите своего бота следующим образом: @my_bot, выберите своего бота и нажмите «Добавить».

2- Отправить боту фиктивное сообщение.
Вы можете использовать этот пример: /my_id @my_bot
(Я пробовал несколько сообщений, не все сообщения работают. Приведенный выше пример работает нормально. Возможно, сообщение должно начинаться с /)

3- Перейдите по следующему URL-адресу: https://api.telegram.org/botXXX:YYYY/getUpdates
замените XXX: YYYY на свой токен бота.

4- Найдите «чат»: <"id": - zzzzzzzzzz,
-zzzzzzzzzz — это ваш идентификатор чата (со знаком минус).

5- Тестирование: вы можете протестировать отправку сообщения группе с помощью curl:

Если вы пропустите шаг 2, для группы, которую вы ищете, не будет обновлений. Также, если есть несколько групп, вы можете найти имя группы в ответе («title»: » group_name «).

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

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