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