Настроить сценарий чат-бота можно с помощью блоков.
Блок — это минимальная единица, из которой строится сценарий чат-бота. Блок задает действие, которое чат-бот совершит в процессе диалога с пользователем. Например:
- вывод текста и изображений на экран;
- перевод в режим ожидания действия пользователя, например, ввода фразы;
- выполнение фоновых действий, например, HTTP-запросов.
Описание каждого из блоков Graph вы найдете в соответствующем подразделе.
Как работают блоки
Блоки добавляются на экран чат-бота.
При запуске чат-бот последовательно, сверху вниз выполняет все блоки, заданные на экране.
При работе с представленным экраном чат-бот будет действовать в следующей последовательности:
- Выведет сообщение «Привет!» из первого блока Текст.
- Выведет сообщение «Ты хочешь поучаствовать в нашей программе?» из второго блока Текст.
- Выполнит блок Интенты: будет ждать реакции пользователя и, в зависимости от ответа, выполнит следующее необходимое действие.
Связи блоков
Некоторые блоки обладают точкой выхода, которая позволяет соединять их с другими экранами. При достижении такого блока (и выполнении соответствующих условий), чат-бот переходит к связанному экрану и выполняет заданные на нем блоки.
В приведенном примере, после того как чат-бот скажет «Привет!» и «Ты хочешь участвовать в нашей программе?», чат-бот будет ждать реакции пользователя. Если пользователь скажет «да», то ответ пользователя попадет в интент Согласие, и чат-бот перейдет к связанному экрану.
Добавление блоков
Блоки можно добавлять как на новые, так и на уже существующие экраны.
Добавление блока новый экран
Чтобы добавить блок на новый экран сценария:
Нажмите кнопку Добавить экран.
Откроется список всех блоков.
Выберите блок из списка и заполните его параметры.
Сохраните блок.
Будет создан новый экран, с заданным блоком.
Добавление блока на существующий экран
Чтобы добавить блок на существующий экран:
- Наведите курсор на экран, куда требуется добавить блок.
- Нажмите кнопку Добавить блок.
- Выберите блок из списка и заполните его параметры.
- Сохраните блок.
При добавлении блоков на существующий экран некоторые блоки могут быть недоступны. Это связанно с тем, что экран содержит блоки, несовместимые с тем, который вы пытаетесь добавить.
Например, на экран с блоком HTTP-запрос нельзя добавить блоки Ввод текста, Ввод числа, Номер телефона, Интенты и другие. Это связано с тем, что блок HTTP-запрос предполагает дальнейшие действия, после которых эти блоки станут недоступны.
Параметры блока
Блоки обладают параметрами, которые определяют логику чат-бота.
Например:
- В блоке Текст можно указать текст, который будет писать чат-бот и дополнительные реплики, которые будут выбираться случайным образом.
- В блоке HTTP-запрос можно указать адрес, к которому будет обращаться чат-бот, выражение и переменную, в которую будет записан результат, данные, которые будут передаваться, формат передаваемых данных и другие параметры.
Изменение названия блока
По умолчанию название каждого нового блока соотвествует его типу, например, Текст или Интенты.
Вы можете изменить название, чтобы лучше ориентироваться в сценарии чат-бота.
Для этого:
- Откройте блок.
- Нажмите на название блока.
- Укажите новое название.
Переменные
Во время работы чат-бота может понадобиться получить от пользователя или сторонней системы какие-нибудь данные. Чат-бот может использовать такие данные, чтобы, например, принять решение о следующих шагах в сценарии или передать эту информацию в сторонний сервис.
Некоторые блоки, например, Ввод числа или Ввод текста, создают переменные с определенным именем, куда сохраняют полученные в этом блоке данные. Так, блок Ввод числа сохранит в переменную $number
число, которое ввел пользователь.
Эта переменная будет доступна на всех следующих экранах сценария в рамках текущей сессии пользователя. Как правило, при настройке блока вы указываете название переменной, а затем можете обратиться к ней на следующих шагах, поставив перед именем переменной знак $
.
Управление блоками
Блоки можно копировать и вырезать, чтобы добавить их на уже существующие экраны. Связи блоков не копируются при этом.
Чтобы копировать или вырезать блок:
Откройте меню в правой части блока.
Выберите пункт Скопировать или Вырезать.
Вы можете отменить вырезание блока с помощью клавиш CTRL+Z.
Откройте меню в правом верхнем углу экрана, на который надо вставить блок.
Выберите пункт Вставить блок.
Блок нельзя вставить на экран, если он содержит несовместимые блоки.