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