Навыки Алисы/Как связать сценарий, контент и код для навыка в единое целое

Что представляют из себя сценарий, контент и код? И как их связать?

править

Структура навыка

править
  1. сценарий
  2. код
  3. контент

Сценарий

править

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

В него включены:

  • фразы
  • контексты
  • состояния
  • переходы

Для разработки сценария удобно использовать визуальный конструктор, например [AimyLogic].

Код является динамической логикой для сценария. Он выполняет полезную функцию, но при этом никак не связан со сценарием, ваш сценарий может обращаться к нему посредством самых простых вызовов по сети, HTTP, но при этом код и сценарий диалога не пересекаются. И, конечно, такой код должен где-то работать. Удобные сервисы для размещения кода:

Контент

править

Контент представляет из себя данные для навыка, которые всё время меняются. Его можно хранить в простой таблице. Сценарий прочитает из неё данные через API.

Способ передачи Google таблицы в конструктор AimyLogic

править

Получившуюся таблицу можно передать в специальный сервис - конструктор AimyLogic. Каким способом можно её передать? Откройте блокнот и скопируйте туда ссылку, которая должна иметь следующий вид:

https://tools.aimylogic.com/api/googlesheet2json?sheet=<название_листа>&id=<id_таблицы>
  • Параметр <id_таблицы> вы можете получить из URL таблицы.

 

Скопируйте его и вставьте в ссылку выше после id=.

  • Параметр <название_листа> указан внизу таблицы на вкладке листа таблицы.

Скопируйте его и вставьте в ссылку выше после sheet=.

Если вам нужно получить данные из листа с именем Лист1 из таблицы с указанным выше URL, то ссылка будет выглядеть так:

https://tools.aimylogic.com/api/googlesheet2json?sheet=Лист1&id=1GaCjqsFRk7ZItwIiPzGaYuG04wU9qrzdvMWnm4cxvMI

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

Ссылки

править