$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;
});