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

$context

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

подсказка

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

  • $context.parseTree — ссылка на $parseTree.
  • $context.client — ссылка на $client.

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

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

При использовании 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;
    });