我正在使用https://github.com/dialogflow/dialogflow-fulfillment-nodejs为对话框流创建实现webhook。 目前我的意图是有一个带有提示的必需参数(因此代理会询问此参数的具体问题)并为此意图启用webhook调用。
在webhook中,我检查参数是否该参数有效(调用外部api或其他),然后我将触发setFollowupEvent
移动到其他意图。但是如果参数无效,那么我将触发setFollowupEvent
返回此意图,以便用户再次输入。但我想告诉用户该参数无效的原因。
代码是这样的
function registerUserStartHandler(agent) {
let payload = request.body.originalDetectIntentRequest.payload;
let senderDetail = getSenderDetail(payload);
return isUserRegistered(senderDetail.senderId, senderDetail.platformType).then((res) => {
if (res) {
agent.add('User already registered, enter another user');
//register_user_ask_user is this same intent (so I just returned to current intent if failed)
agent.setFollowupEvent('register_user_ask_user');
} else {
agent.setFollowupEvent('register_user_ask_other_info');
}
return Promise.resolve();
})
}
但是,当前对话框流将向用户返回我为该必需参数定义的提示消息,而不是原因消息。
如何使用来自webhook的消息替换此提示消息?