К каждому ответу бота, а также к блокам ввода (ввод текста, числа, номера телефона и тд) можно добавить одну или несколько кнопок.

Обратите внимание, что Открытые линии Bitrix24 и WhatsApp не поддерживают кнопки. Так что в бота, который будет работать в этих каналах, кнопки добавить не получится.

Как добавить кнопку на экран?

Чтобы добавить кнопку на экран, нажмите + КНОПКА. Введите текст кнопки и нажмите Enter.



Как связать кнопку с нужным экраном?

Вы можете связать кнопку с тем экраном, на который должен перейти бот после нажатия этой кнопки. Чтобы связать кнопку с нужным экраном, нажмите на кружок на кнопке и протяните стрелку к нужному экрану, затем кликните на этом экране, чтобы отпустить стрелку.



Либо создайте новую кнопку, а затем кликните на ней - новый экран создастся автоматически и сразу привяжется к этой кнопке.



Сколько кнопок можно добавить на один экран?

На один экран вы можете добавить до восьми кнопок.

Как перемещать кнопки?

Кнопки можно менять местами на одном экране, просто перетащив их, удерживая за иконку слева от каждой кнопки.

Кнопки можно перемещать только в рамках одного экрана. Нельзя перетащить кнопку на другой экран.



Как работают кнопки?

Рассмотрим такой пример:



Здесь сценарий начинается с экрана "Привет! Чем могу помочь?". На этом экране будут выведены три кнопки - "цены", "статус заказа" и "доставка". Когда пользователь нажмёт кнопку "цены", бот перейдёт на экран "Цены вы можете посмотреть здесь...". Иначе говоря, после того как пользователь нажмёт кнопку "цены", бот скажет "Цены вы можете посмотреть здесь", и далее бот будет реагировать согласно реакциям (интентам, кнопкам), которые есть на экране "Цены вы можете посмотреть здесь...". В нашем случае будут выведены кнопки "статус заказа" и "помощь", и бот после нажатия этих кнопок бот будет реагировать согласно связям этих кнопок.

В тестовом виджете это будет выглядеть так:



В канале Telegram это будет выглядеть так:



Нажатие кнопки vs набор текста

Как вы можете видеть на скриншотах выше, в диалоге это выглядит так, как будто пользователь набрал слово "цены". Действительно, для бота нет никакой разницы, нажимает пользователь кнопку "цены" или пользователь набирает текстом с клавиатуры "цены".

Если пользователь нажимает кнопку:



Если пользователь набирает точно такой же текст, который содержится в кнопке:



Поведение бота совершенно не различается в этих двух случаях.

В связи с этим удобно использовать в сочетании с кнопками блок Интенты.

На самом деле, рекомендуется использовать блок Интенты в сочетании с кнопками, чтобы, в случае, если пользователь введёт что-то, чего нет на кнопках, бот знал, как реагировать.

Как сочетать использование кнопок и интентов?

Для лучшего распознавания ввода пользователя рекомендуется совместно с кнопками всегда использовать на экранах блок Интенты. Иначе бот может отвечать Извините, непонятно в ответ на ввод того, чего нет в кнопках.

Добавьте на экран с кнопками блок Интенты.



Добавьте в блок Интенты интенты с текстом, которые содержится в ваших кнопках. Вы можете также использовать синтаксис шаблонов, чтобы ловить другие фразы.

На нашем экране есть кнопки "цены", "статус заказа" и "доставка", поэтому добавим эти интенты.



В дальнейшем вы можете добавить сюда другие интенты, в соответствии с тем, какие запросы в ожидаете здесь от пользователя. Например, мы думаем, что пользователь также может на этом экране написать "как вам позвонить", поэтому добавим ещё и этот интент.



Теперь мы можем связать эти интенты с нужными экранами.



Таким же образом свяжите все интенты с нужными экранами.

Теперь, когда у нас есть интент "цены" и кнопка "цены", можно удалить связь от кнопки "цены". В любом случае, если есть связь от интента, по нажатию кнопки боту будет отправляться текст "цены" и будет отрабатывать интент "цены". Таким образом, если есть связанный с чем-то интент, то связь от кнопки создавать не обязательно.



И самый важный шаг!

Свяжем вариант "Любая другая фраза". Этот вариант будет отрабатывать, если пользователь напишет что-то, что не попадет ни в один из интентов. Если "Любая другая фраза" ни с чем не связана, то в нашем случае, если пользователь напишет что-то другое, например "а сколько стоят ваши товары", то бот ответит Извините, непонятно.

Создадим экран, на который должен переводить бот в случае, если пользователь напишет что-то, что не попадает ни в один из интентов.



Это самый главный шаг, который позволит нам запретить боту выпадать в "Извините, непонятно".

Типы кнопок

Кнопки в Aimylogic бывают двух типов - обычные кнопки и кнопки-ссылки.

Обычные кнопки

Мы уже рассмотрели эти кнопки выше. Этот тип кнопок используется, когда нужно "научить" бота реагировать каким-то определенным образом на нажатие кнопки, например, переводить на определённый экран. У обычных кнопок нет никаких параметров, кроме названия кнопки. Обычную кнопку можно связать с другим экраном, чтобы по нажатию этой кнопки бот переходил на другой экран.

Если у вас на том же экране, где добавлена кнопка, есть блок Интенты, и один из интентов содержит (и полностью соответствует) текст одной из кнопок, то вы можете не привязывать кнопку к другому экрану. Когда пользователь нажмет на кнопку, то бот отреагирует на это так же, как если бы пользователь просто напечатал фразу.

Также, если у вас есть идентичные друг другу интент и кнопка, то вы можете назначить разную реакцию на них, просто привязав кнопку и интент к разным экранам. Тогда при нажатии кнопки будет выполняться одно действие (в соответствии со связью кнопки), а по набору слова с клавиатуры будет выполняться действие в соответствии со связью интента.

Кнопки-ссылки

Кнопку-ссылку нельзя связать с экраном. Нельзя сделать так, чтобы по нажатию кнопки-ссылки бот переходил на другой экран. Но в кнопку-ссылку можно добавить url любого ресурса в Интернете. При клике на такую кнопку-ссылку у пользователя откроется страница в браузере.

В канале ВК кнопки-ссылки не работают. Также, кнопки-ссылки, естественно, не будут отображаться в тех каналах, которые вообще не поддерживают кнопки (Открытые линии Bitrix24 и WhatsApp).

Чтобы добавить кнопку-ссылку, нажмите + КНОПКА, введите текст кнопки, нажмите Enter. Затем нажмите на значок ссылки, вставьте ссылку на ресурс в интернете и нажмите Сохранить.



Обратите внимание, что автоматически открывать страницы в браузере бот не может ни в одном канале. Пользователь должен обязательно нажать на кнопку-ссылку.

Добавление хотя бы одной кнопки-ссылки в канале Telegram превратит все кнопки в inline-кнопки.

Вот как это будет работать в канале Telegram:



Обратите внимание, что в URL можно использовать_ переменные таким же образом, как, например, в блоке Текст. _Таким образом бот может генерировать ссылки на лету, подставляя в них значения нужных переменных.

Inline-кнопки

Inline-кнопки - это кнопки, которые отображаются под текстом бота, а не под полем ввода. Inline-кнопки можно сделать только в канале Telegram. Подробнее о том, как добавлять Inline-кнопки, читайте здесь.

Как записать значение кнопки в переменную?

Вы можете записать значение всех кнопок в переменную, чтобы позднее понять, что именно выбрал пользователь:

Была ли эта статья полезна?
отменить
Спасибо!