DialogFlow NodeJs - Установить ответное сообщение после webhookClient.setFollowupEvent - PullRequest
0 голосов
/ 04 мая 2018

Я использую https://github.com/dialogflow/dialogflow-fulfillment-nodejs, чтобы создать веб-крюк для диалогового процесса. В настоящее время у меня есть намерение иметь 1 обязательный параметр с приглашением (поэтому агент задаст конкретный вопрос для этого параметра) и разрешить вызов 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...