Как отправить сообщение в группу Telegram
Вы можете не только использовать ботов Aimylogic чтобы отправлять личные сообщения в Telegram, но и добавлять их в групповые чаты в Telegram.
Мы предполагаем, что вы уже создали сценарий бота и знаете, как его опубликовать в канале Telegram, поэтому здесь мы рассмотрим только, как отправлять сообщения в групповой чат.
Подготовьте сценарий
В первую очередь, в качестве стартового экрана добавьте в сценарий текстовый блок, в который скопируйте и вставьте: $rawRequest.message.chat.id
![](/assets/images/send_group_message_1-007e1fe64102e1ff5dc57441ca01d556.png)
Добавьте переменные в сценарий
Также ваш сценарий должен уметь отправлять данные в Telegram. Для этого их нужно записывать в переме нную.
Например, добавим блок text to $var, с помощью которого будем записывать сообщение в переменную $message
:
![](/assets/images/send_group_message_9-537c69c7ae3a022b21aab837eb093d13.png)
Свяжите «Переход после ввода $message
» с блоком Http-запрос. Метод запроса — GET
.
![](/assets/images/send_group_message_10-ce28639e173b40915a4a32f21a7e8102.png)
Теперь создайте URL запроса. Вместо <token> в URL нужно будет вставить токен канала, который вы получили в BotFather.
https://api.telegram.org/bot<token>/sendMessage
В поле BODY
запроса вставьте следующее:
{
"chat_id": chat_id_number,
"text": "$message"
}
chat_id_number
нужно будет заменить на значение, которое вы получите на этапе активации бота в группе в Telegram.
Вы также можете отправлять любые другие переменные, которые получаете в сценарии. Например, вот так:
{
"chat_id": chat_id_number,
"text":
"имя клиента: $name,
телефон: $PHONE,
отзыв: $feedback"
}
Если вы отправляете другие переменные, то перед отправкой запроса убедитесь, что они действительно заполняются в сценарии
RESPONSE
и HEADERS
заполнять не нужно.Подготовьте сообщение об ошибке
Свяжите вариант «Завершен с ошибкой» с блоком Текст, куда напишите ошибка $httpStatus
Свяжите вариант «Завершен успешно» с блоком Текст, в котором размещено сообщение об успешной отправке данных, например Спасибо, ваша заявка была отправлена!
Подготовьте группу в Telegram для бота
Теперь нужно создать группу, в которую вы хотите добавить бота, и активировать его.
Создайте группу в Telegram
Создайте группу в Telegram, выбрав Создать группу в меню, и дайте ей название:
![](/assets/images/send_group_message_2-be2dfecfd52587d7edb5c62a2ae70632.png)
![](/assets/images/send_group_message_3-3f95689ba8b1ada5bdc0869b97651e48.png)
Добавьте в группу хотя бы одного участника и нажмите Создать, а затем добавьте в группу вашего бота. Для этого нажмите Добавить участников. Наберите название бота в поиске, выберите бота и нажмите Пригласить:
![](/assets/images/send_group_message_5-47d1b5055df982eb770551d338bbf0ca.png)
Активируйте бота
Отправьте в группу команду /start
. Бот отправит вам сообщение из набора символов. Это значение, включая знак -
, понадобится вам позже:
![](/assets/images/send_group_message_6-f3d05219e7cba6d4c7b9ba4fc919945e.png)
Добавьте бота в существующую группу
Если у вас уже есть группа в Telegram, в которую вы хотите добавить бота, вам нужно:
- Создать чат с ботом
- Ссылка на бота есть в BotFather, в сообщении, в котором вы получали токен бота
- Зайдите в меню диалога с ботом и выберите До бавить в группу. Следуйте указаниям
- Теперь нужно разрешить боту читать сообщения в группе. Для этого:
- Перейдите в BotFather
- Напишите команду
/mybots
- Выберите нужного бота
- Перейдите в Bot Settings → Group Privacy
- Выберите Turn off
- Должна появиться фраза Privacy mode is disabled for Bot
Удалите $rawRequest
Вернитесь в сценарий бота.
Теперь можно удалить блок, который содержит $rawRequest.message.chat.id
.
Опубликуйте бота
Опубликуйте бота в Telegram и дождитесь публикации:
Протестируйте бота
Теперь напишите в Telegram боту (не в группу). Ссылка на бота есть в BotFather, в сообщении, в котором вы получали токен бота.
![](/assets/images/send_group_message_13-5ef7478948a52a82cba5f792e86bddeb.png)
Запустите новую сессию с помощью /start
, пришлите боту сообщение и убедитесь, что оно приходит в группу:
![](/assets/images/send_group_message_14-0374b35a9dacd550162fd3988a868f21.png)
![](/assets/images/send_group_message_15-953ed7608c283642b53be5e6f32f9256.png)
Если ваши пользователи напишут боту, сообщения от них также будут публиковаться в группу в Telegram.
Что сделать, чтобы бот отвечал пользователям?
Чтобы бот отвечал пользователям в группе в Telegram, вам нужно добавить бота в администраторы группы.
Если этого не сделать, бот будет реагировать только если пользователь напишет /
и затем название интента. Например, /привет
.