$context
Структура, которая представляет текущий контекст обработки запроса.
подсказка
Объект $context содержит ссылки на все остальные встроенные переменные с таким же именем, но без префикса $. Например:
$context.parseTree— ссылка на$parseTree.$context.client— ссылка на$client.
Дополнительные поля
currentState— путь текущего стейта, в котором выполняется скрипт.contextPath— текущий путь контекста. Может отличаться отcurrentStateв случае, если используется флагnoContext.testContext— контекст выполнения тестов. Объект определен только в режиме тестов и не подлежит изменению.
При использовании NLU также доступны поля:
intent— интент, активированный в стейте.entities— сущности, найденные во фразе. Данные доступны также в переменной$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;
});