2017-02-20 20 views
2

Могу ли я использовать переменные контекста в условиях для узлов в потоке диалога в Watson Conversation?Могу ли я использовать переменные контекста в условиях для узлов в потоке диалога в Watson Conversation?

В случае, если я попробовать:

если условие: context.variable !== 'undefined' разговор будет течь, иначе разговор будет показывать какой-то текст.

Как это сделать?

я попробовать:

See

И разговор не течет ... и цель потока в intent.confidence < 0.3 я создал

Obs .: Мой context.variable е просто получить некоторые данные с regex, если пользователь не будет правильно набирать текст, в потоке беседы появится другое сообщение.

ответ

2

Основная проблема может быть с вашим регулярным выражением. У вас есть свисание * в конце. Это должно быть:

"context": { 
    "xxx": "<? input.text.extract('^[^\d].*?[\d]{11}.*?$',0) ?>" 
    }, 

Перед проверкой переменной вы можете использовать следующее условие.

input.text.matches('^[^\\d].*?\\d{11}.*?') 

При проверке, чтобы увидеть, если переменная установлена, то вам нужно только иметь условие следующим образом:

$xxx 

Пример беседы сценария: http://pastebin.com/HuCJckry