Системные модули


Системные модули — модули, подключаемые для всей платформы JAICP. Зависимости на системные модули доступны во всех ботах без дополнительного объявления.

Доступные системные модули

В облачной версии платформы доступны системные модули zb-common и zfl-common. Они содержат в себе ряд универсальных и часто используемых элементов сценариев:

  • Именованные паттерны.
  • Справочники и конвертеры для именованных сущностей.
  • Функции и библиотеки на JavaScript.
  • Готовые сценарные фрагменты.

Вы можете просмотреть код системных модулей в редакторе сценариев.

Использование

Чтобы импортировать файл из системного модуля в сценарий, необходимо в одном из файлов сценария воспользоваться тегом require:

require: offtopic/fallback.sc
    module = sys.zb-common

Здесь:

  • zb-common — название системного модуля.
  • offtopic/fallback.sc — путь к подключаемому файлу.

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

Создание системных модулей On-premise

На версии платформы JAICP On-premise вы можете создавать собственные системные модули.

  1. Задайте в конфигурации BotServer абсолютный путь к директории, где они расположены:
bot:
  systemModulesFolder: /opt/sys-modules
  1. Разместите в данной директории проекты, которые предполагается подключать как системные модули:
├── common
│   └── src
│       ├── catchAll
│       │   ├── catchAllClassifier.js
│       │   └── catchAll.sc
│       └── offtopic
│           ├── fallback.sc
│           ├── greetings.sc
│           └── offtopic.sc
└── javascript
    └── src
        ├── moment.min.js
        └── underscore.min.js

Использование

Системные модули, созданные самостоятельно, подключаются в нужные сценарии так же, как в облачной версии платформы:

require: moment.min.js
    module = sys.javascript

Название системного модуля соответствует названию директории, а путь к файлу должен быть задан относительно поддиректории src.