Навыки Алисы/Как связать сценарий, контент и код для навыка в единое целое
Что представляют из себя сценарий, контент и код? И как их связать?
[править]Структура навыка
[править]- сценарий
- код
- контент
Сценарий
[править]Диалоговый сценарий определяет, что может говорить пользователь, и как на это реагирует навык.
В него включены:
- фразы
- контексты
- состояния
- переходы
Для разработки сценария удобно использовать визуальный конструктор, например [AimyLogic].
Код
[править]Код является динамической логикой для сценария. Он выполняет полезную функцию, но при этом никак не связан со сценарием, ваш сценарий может обращаться к нему посредством самых простых вызовов по сети, HTTP, но при этом код и сценарий диалога не пересекаются. И, конечно, такой код должен где-то работать. Удобные сервисы для размещения кода:
- [Яндекс.Облако]
- [HEROKU]
Контент
[править]Контент представляет из себя данные для навыка, которые всё время меняются. Его можно хранить в простой таблице. Сценарий прочитает из неё данные через 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 таблицы, которые пополняются каждый день. Таким образом, мы отделяем сам диалоговый сценарий от контента, что позволяет нам работать с контентом отдельно.
Ссылки
[править]- Дмитрий Чечёткин. Как связать сценарий, контент и код для навыка в единое целое? // Школа Алисы. 2018-2019