DialogFlow NodeJs - 在webhookClient.setFollowupEvent

时间:2018-05-04 10:15:53

标签: node.js dialogflow

我正在使用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的消息替换此提示消息?

0 个答案:

没有答案