$context


Структура, которая представляет текущий контекст обработки запроса.

Объект $context содержит ссылки на все остальные встроенные переменные с таким же именем, но без префикса $:

$context.parseTree = $parseTree
$context.client = $client

Дополнительные поля

  • currentState — путь текущего стейта, в котором выполняется скрипт.
  • contextPath — текущий путь контекста. Может отличаться от currentState в случае, если используется флаг noContext.
  • testContext — контекст выполнения тестов. Объект определен только в режиме тестов и не подлежит изменению.

При использовании CAILA NLU также доступны поля:

  • intentинтент, активированный в стейте.
  • entitiesсущности, найденные во фразе.
  • nluResults — массив результатов работы NLU-ядра.

Примеры использования

  • Очистка сессионных и клиентских данных в начале диалога.
state: Welcome
    q!: $regex</start>
    a: Привет! Я ваш электронный помощник.
    script:
        $context.session = {};
        $context.client = {};
    go!: /ChooseCity
  • Сохранение пути к последнему сработавшему стейту в обработчике postProcess.
init:
    bind("postProcess", function($context) {
        $context.session.lastState = $context.currentState;
    });