Часто необходимо чтобы у клиента отображался ряд готовых ответов на сообщение (примерно так), и клиент не писал много текста, так как бот не всегда сможет это обработать.
шаг 1. Создаем три блока вопроса
шаг 2. В каждой исходящей стрелке из блоков вопроса сохраняем ответ в переменные соответственно: botId, chatId, text
chatId может быть как айди чата, которое достал https://t.me/myidbot, так и {messengerUserId}
шаг 3. Создаем блок арифметики с произвольным типом
шаг 4. Сам запрос выглядит так
Но так как в сценарии запрос будет отправлен через блок арифметики воспользуемся статьей
Как сделать запрос на сервер с помощью BPL-операций, чтобы сформировать универсальную ссылку с переменными
Важно
bpl функции не работают в редакторе. Тестировать сценарий нужно в чате либо в мессенджерах
$url = str.join(["https://api.telegram.org/bot", $botId, "/sendMessage?chat_id=", $chatId, "&parse_mode=HTML&text=", $text], "") //Вставляем эту строчку в блок арифметики
шаг 5. Чтобы включить клавиатуру у пользователя нужно создать следующее тело запроса:
{ "reply_markup": { "keyboard": [ [ "😁", "Ты кто?😅", "Привет" ], [ "Ой😊", "М?", "😜" ] ], "resize_keyboard": true, "one_time_keyboard": true } } //Для блока арифметики это тело нужно форматировать в одну строку следующим образом $json = {"reply_markup": {"keyboard": [["😁","Ты кто?😅","Привет"],["Ой😊","М?", "😜"]],"resize_keyboard": true,"one_time_keyboard": true}} //Вставляем эту строчку в блок арифметики следующей
где
- keyboard это массив строк в клавиатуре
- one_time_keyboard это параметр для того чтобы клавиатура закрылась после ответа и не мешала (по умолчанию false, то есть закрываться не будет)
- resize_keyboard это параметр для красивого размера кнопок (по умолчанию false), если не включить будет выглядеть так
Смайлики можно скопировать тут
шаг 6. Вставляем эту строчку в блок арифметики последней
$response = http.request($url, "POST", $json, {"accept": "application/json", "Content-Type": "application/json"})
Итоговый сценарий выглядит следующим образом:
Важно
bpl функции не работают в редакторе. Тестировать сценарий нужно в чате либо в мессенджерах
Результат: