Блок Кнопки предназначен для добавления кнопок в чат с пользователем.

Кнопки содержат короткие реплики, которые пользователь может написать или передать в чат с ботом, нажав на кнопку. Экран может содержать несколько кнопок.

Параметр Запретить ввод текста пользователем позволяет отключить возможность ввода текста, пока пользователь н аходится на экране с кнопками. Таким образом, пользователь сможет перейти к следующему экрану сценария только по нажатию на кнопку. Отключение ввода текста работает только при запуске бота в чате Jivo.
Кнопка может вести к новому экрану сценария, содержать ссылку или фразу, которую можно обработать с помощью блока Интенты.
Текст и ссылка, заданная в кнопке, могут содержать переменные. Значение кнопки можно записать в переменную с помощью блока Условия.
Для чат-ботов, подключенных в канал Telegram, доступно создание инлайн-кнопок, которые будут отображаться внутри диалога в виде реплик чат-бота.
Чтобы создать такие кнопки, воспользуйтесь функцией $reactions.inlineButtons
:
script:
$reactions.inlineButtons([
{text: "Закончить диалог"
, transition: "/newNode_3"
},
{text: "Задать еще вопрос"
, transition: "/newNode_4"
},
]);
Инлайн-клавиатура будет представлена, если среди кнопок будет хотя бы одна кнопка-ссылка.
В чат-ботах, подключенных в другие каналы, кнопки не будут визуально отличаться от обычных.
Для чат-бота в канале Telegram действуют следующие ограничения:
- Максимальная длина текста кнопки — 20 символов. Текст кнопки, выходящий за ограничение, будет перенесен на следующую строку.
- Максимальное количество кнопок в ряду – 8.
- В одном стейте можно добавить до 100 кнопок.
Требования к кнопкам
Максимальная длина кнопки — 30 символов.
Кнопку можно добавить на экран, если он содержит хотя бы один блок из групп Ответ чат-бота и Ввод пользователя, или блок JS Код.
Кнопку нельзя добавить на экран, который содержит блоки Условия, Переход, Http-запрос или завершение сценария.
Запретить ввод текста можно только на экране, который содержит хотя бы одну простую кнопку.
Запрет ввода текста
Вы можете запретить возможность набирать текст в чате с ботом. Для этого на экране сценария должна быть хотя бы одна простая кнопка, которая поможет пользователю продвинуться по сценарию чат-бота.
Запрет ввода текста работает только при запуске бота в чате Jivo. Проверить отключение ввода текста в тестовом виджете нельзя.
- Graph
- Code
Чтобы запретить ввод текста:
-
Откройте сценарий проекта SaluteBot в Graph.
-
Выберите экран, где нужно запретить ввод текста пользователю.
-
Добавьте на экран блок Кнопки.
-
Выберите вкладку Простая.
-
Укажите имя кнопки в поле.
Имя кнопки должно быть короче 30 символов.
-
Включите параметр Запретить ввод текста пользователем.
Параметр недоступен, если блок содержит только кнопки со ссылками.
-
Нажмите кнопку Сохранить.
Для разблокировки ввода текста, выключите параметр Запретить ввод текста пользователем в настройках бока Кнопки.
Чтобы отключить возможность вводить текст в чате с ботом, укажите параметр "force_reply": "true"
в одной из кнопок, которые будут отображены в чате.
Например:
state:
a: Нажмите кнопку. Сейчас вы не можете писать в чате.
buttons:
{text:"Перейти", "url": "https://example.com", "force_reply": "true"}
Кнопки можно передавать следующими способами:
- в теге buttons;
- в сообщении типа
buttons
; - в функции
$reactions.buttons
.