Создание сценария
На этом шаге вы создадите сценарий для бота-секретаря.
Приветствие
-
Добавьте первый экран с блоком Текст и напишите в нем
Привет!.
-
Добавьте на экран метку с названием экрана. Для этого наведите курсор на верхнюю часть экрана и нажмите мышкой один раз. Назовите экран «приветствие».
-
Чтобы выбрать цвет для метки, два раза нажмите на верхнюю часть экрана и выберите цвет из палитры.

-
На этот же экран добавьте блок Переход.
Предложение помощи
На этом этапе бот будет предлагать клиенту получить информацию о предстоящей конференции.
-
Свяжите блок Переход с новым экраном, на который добавьте блок Текст:
Я помогу тебе узнать дату и место конференции Conversations 2021. -
Чтобы бот распознавал фразы клиента, в которых содержатся определенные слова, необходимо добавить шаблоны этих фраз. Для этого добавьте блок Интенты и вставьте
* когда *. -
Нажмите Создать интент и вставьте в него
* где *.подсказка -
Напротив выражений
* когда *и* где *отображается . Это означает, что интент задан примерами фраз и будет распознавать только точно такие же фразы клиента. Чтобы сделать фразу шаблоном, нажмите напротив каждой фразы. Иконка изменится на .
Сохраните блок.
-
Добавьте вверху экрана метку «задача».

-
Свяжите вариант Любая другая фраза с этим же экраном.
-
Добавьте на экран кнопки
когда?игде?.
Получение даты и места мероприятия
-
От интента
* когда *создайте HTTP-запрос. Оставьте его пустым и нажмите Сохранить. Вы настроите блок позже.Назовите этот экран «читаем когда».
-
От интента
* где *создайте новый HTTP-запрос и также оставьте его пустым.Назовите этот экран «читаем где».

Вывод информации о мероприятии
Вывод даты
-
От варианта Завершен успешно запроса на экране «читаем когда» создайте новый экран с блоком Текст:
Дата и время мероприятия: $event.when.Назовите экран «вывод даты».
примечаниеЗдесь используется переменная
$event, в которую позже будет записываться содержание таблицы. -
От варианта Завершен с ошибкой запроса «читаем когда» создайте новый экран с блоком Текст:
Произошла ошибка чтения даты и времени: $httpStatus. Попробуйте позже!Назовите экран «ошибка чтения даты».

-
На экране «задача» нажмите , чтобы скопировать блок Интенты.

-
Вставьте этот блок интентов на экран «вывод даты».

Экран «вывод даты» будет выглядеть так:

Вывод места
-
От варианта Завершен успешно запроса на экране «читаем где» создайте новый экран с блоком Текст:
Место проведения мероприятия: $event.where.Назовите этот экран «вывод места».
примечаниеЗдесь также используется переменная
$event, в которую позже будет записываться содержание таблицы. -
От варианта Завершен с ошибкой запроса на экране «читаем где» создайте новый экран с блоком Текст:
Произошла ошибка чтения местоположения: $httpStatus. Попробуйте позже!Назовите этот экран «ошибка чтения места».

-
Еще раз скопируйте интенты с экрана «задача» и вставьте на экран «вывод места».

Экран «вывод места» будет выглядеть так:

Добавление связей
-
На экраны «ошибка чтения даты» и «ошибка чтения места» добавьте блоки Переход.

-
Свяжите оба блока Переход с экраном «задача».


-
Свяжите интенты
* когда *с экранов «вывод даты» и «вывод места» с экраном «читаем когда».

-
По аналогии свяжите интент
* где *с экранов «вывод даты» и «вывод места» с экраном «читаем где».

-
На экранах «вывод даты» и «вывод места» свяжите опции Любая другая фраза с экраном «задача».


Обновление информации о мероприятии
Сделаем так, чтобы собеседник бота, который знает определенный пароль, мог обновить информацию о мероприятии.
-
Добавьте в любое место сценария экран с блоком Интенты.
-
Добавьте пример фразы, которая будет содержать пароль. Например,
123456. -
Включите опцию Сделать доступным из любой точки сценария и нажмите Сохранить.

Назовите этот экран «пароль».
-
От интента 123456 создайте новый экран с блоком Текст:
Что ты хочешь записать? Дату или местоположение?
Назовите этот экран «запись».
-
Скопируйте и вставьте сюда блок интентов с экрана «задача».

-
Свяжите опцию Любая другая фраза с тем же экраном «запись».
-
Добавьте на экран кнопки
когда?игде?.
Теперь только собеседник с паролем сможет попасть в эту ветку сценария.
Прием даты и места мероприятия
-
Для приема даты и времени мероприятия от интента
* когда *на экране «запись» создайте экран с блокомtext to $var:- В поле Сообщение вставьте
Напиши одним сообщением дату и время мероприятия. - В поле Имя переменной укажите
when.

Сохранить блок и назовите экран «запись даты».
- В поле Сообщение вставьте
-
Для приема места от интента
* где *на экране «запись» создайте экран с блокомtext to $var:- В поле Сообщение вставьте
Запиши одним сообщением местоположение мероприятия. - В поле Имя переменной укажите
where.

Сохраните блок и назовите экран «запись места».

- В поле Сообщение вставьте
Отправка информации о мероприятии
Для отправки данных в сторонний сервис нужно добавить новые HTTP-запросы.
-
От опции Переход после ввода $when на экране «запись даты» создайте новый экран с HTTP-запросом. Сохраните его, чтобы заполнить позже.
Назовите этот экран «отправка даты».
-
От опции Переход после ввода $where также создайте новый экран с HTTP-запросом и сохраните его пустым.
Назовите этот экран «отправка места».

Вывод ошибок отправки
-
От варианта Завершен с ошибкой на экране «отправка даты» создайте экран с блоком Текст:
ошибка записи даты: $httpStatus.Назовите этот экран «ошибка отправки даты».
-
От варианта Завершен с ошибкой на экране «отправка места» создайте экран с блоком Текст:
ошибка записи местоположения: $httpStatus.Назовите этот экран «ошибка отправки места».

-
На оба экрана «ошибка отправки даты» и «ошибка отправки места» добавьте блоки Переход и свяжите их с экраном «запись».


Успешная запись
-
От варианта Завершен успешно экрана «отправка даты» создайте новый блок Текст:
успешно записано.Назовите экран «запись осуществлена».

-
Свяжите вариант Завершен успешно экрана «отправка места» с экраном «запись осуществлена».

-
Добавьте на экран «запись осуществлена» блок Переход и свяжите его с экраном «задача».

Готовый сценарий

Часть сценария, где бот запрашивает и обновляет информацию о мероприятии:

Теперь создайте таблицу и настройте ее для чтения данных.