Перейти к основному содержимому

JS-код в проекте чат-бота

подсказка
JAICP DSL использует вставки JavaScript-кода спецификации ECMAScript 5 для описания бизнес-логики и интеграции с внешними системами.

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

Структура JS-кода в проекте

JS-код в проекте:

  • Выражения в тегах if, else, elseif— функции-условия, используемые для описания правил условных переходов.
  • Тег script — скриптовые вставки для произведения любых вычислений и вызова внешних систем.
  • Тег init — скрипты инициализации, выполняются только один раз при загрузке сценария и используются для создания глобальных переменных и привязки pre/post-процессов.
  • Подключаемые JS-файлы — файлы подключаются посредством require. Содержат объекты и функции, доступные к использованию в любых других скриптах.
  • Встроенные функции — специальные объекты и функции, предоставляемые платформой. Например, предоставляют функционал для вызова матчера или внешних сервисов.
  • Встроенные библиотеки — JS-библиотеки, загружаемые автоматически вместе с каждым ботом.
подсказка
Подробнее о встроенных переменных, функциях и сервисах

JS-файлы

Вы можете прописать логику непосредственно в файле сценария .sc. Но мы рекомендуем выносить весь JS-код в отдельный файл. Для этого вам потребуется создать в src папке файл с расширением .js, например, functions.js. Напишите в нем функции, которые потом можно будет вызвать из сценарного файла после тега script.

предупреждение
Обратите внимание, что JS-файлы содержат объекты и функции, доступные к использованию в любых других скриптах.

.js-файлы подключаются в начале сценария при помощи тега require:

require: scripts/functions.js