Кейс есть в Twin LiveDemo bot https://t.me/twinDemo_bot |
Часто необходимо чтобы у клиента отображался ряд готовых ответов на сообщение (примерно так), и клиент не писал много текста, так как бот не всегда сможет это обработать.
шаг 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}} //Вставляем эту строчку в блок арифметики следующей |
где
шаг 6. Вставляем эту строчку в блок арифметики последней
$response = http.sendRequest($url, "POST", $json, {"accept": "application/json", "Content-Type": "application/json"}) |
Итоговый сценарий выглядит следующим образом:
bpl функции не работают в редакторе. Тестировать сценарий нужно в чате либо в мессенджерах |
Результат: