buttons
buttons
— кнопки, осуществляют переходы между стейтами сценария.
Синтаксис
Название кнопки добавляется в кавычках после тега buttons
.
- По нажатию будет отправлен запрос с текстом, указанным внутри кнопки.
buttons:
"Это кнопка 1"
"Это кнопка 2"
- По нажатию на кнопку может быть осуществлен переход в указанный стейт, если:
- в левой части тега указана строка, определяющая текст внутри кнопки,
- в правой части — строка, определяющая путь перехода при нажатии кнопки.
# По нажатию на кнопку будет осуществлен переход в стейт /RememberCity
buttons:
"Санкт-Петербург" -> ./RememberCity
"Москва" -> ./RememberCity
- В кнопках можно использовать строковые подстановки:
buttons:
"Перейдите в раздел {{ $request.query }}" -> ./
buttons:
"Кнопка" -> {{$temp.match.targetState}}
- В кнопках могут передаваться объекты:
buttons:
{ text: "Отправить местоположение", request_location: true, one_time_keyboard: false }
к сведению
Свойство text
является обязательным для объектов, передаваемых в теге buttons
.
Ограничения каналов
-
- Максимальная длина текста кнопки — 20 символов. Текст кнопки, выходящий за ограничение, переносится на следующую строку.
- В канале Telegram на каждый набор кнопок обязательно должно быть отправлено хотя бы одно текстовое сообщение.
-
- На одной строке можно разместить 1, 2, 3 или 6 кнопок.
-
- Кнопки с текстом и со ссылками нельзя использовать в одном стейте.
- Максимальное количество кнопок в сообщении — 3.
- Максимальная длина текста кнопки — 20 символов.
- Кнопки, которые добавляются в первое сообщение бота в рассылке, необходимо регистрировать заранее. Другие кнопки регистрировать не нужно.
Управление количеством символов
Вы можете управлять количеством символов в строке кнопок для каналов ВКонтакте и Telegram из сценария. Для этого вызовите в стейте script
:
script:
$response._buttonsRowLength = 30; // 30 символов в строке