您可以使用context variables
or action variables
为了那个原因。
如何使用上下文变量?在您的高级响应中添加“上下文”和值,请查看我的示例。
我用过对话简单 https://github.com/watson-developer-cloud/conversation-simple为了那个原因。
在 Watson Developer Cloud - IBM Bluemix - Watson Conversation 中,在高级响应中添加此 JSON 示例,假设您的应用程序将在此对话节点中执行某些操作:
{
"context": {
"verified": true;
},
"output": {
"text": {
"values": [
"Please wait and I'll verified your request."
],
"selection_policy": "sequential"
}
}
}
示例(app.js):
function updateMessage(input, data, req, res) {
if (data.context.verified === true){
searchRequest(data, req, res);
} else if (data.output && data.output.text) {
return res.json(data);
}
return data;
}
您可以使用这些数据在对话流中发送某些内容。
function searchRequest(data, req, res){
// something to do and return value
var sendRequest = "Thanks for wait, the request is" + valueRequest;
data.output.text[0] = sendRequest;
return data;
}
EDIT:
您可以添加一个 JSON 对象,例如“action”,您的代码将识别该变量,与 @Mikko 所说的示例相同。您可以通过以下方式检查:
data.output.action === 'close'
- 查看更多关于上下文变量 https://console.bluemix.net/docs/services/conversation/dialog-build.html#context.
- 查看更多关于建立一个对话 https://console.bluemix.net/docs/services/conversation/dialog-build.html#dialog-build.