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

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

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

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



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

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



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



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

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



Если вам нужно добавить больше 8 кнопок, то можете посмотреть эту инструкцию.

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

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

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



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

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



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

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



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



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

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

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



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



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

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

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

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

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

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



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

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



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



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



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

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



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

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

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



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

Типы кнопок

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

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

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

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

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

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

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

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

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



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

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

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



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

Inline-кнопки

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

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

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

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