Настраиваемые быстрые ответы с использованием Node.js Webook в Dialogflow v2 - PullRequest
0 голосов
/ 09 сентября 2018

Мой вариант использования, чтобы лучше понять вопрос

Я разрабатываю чат-бота, чтобы оказывать поддержку работникам в решении проблем на гипотетической сборочной линии.После того, как бот приветствует пользователя, он советует ему идентифицировать себя по номеру своего значка.Затем, если пользователь принимает приглашение бота, бот спрашивает, какой компонент в списке ему нужна поддержка.
Каждый работник может управлять только подмножеством компонентов сборки.Моя цель - показать пользователю только те части, которыми он квалифицирован для управления. enter image description here

... но реальная проблема здесь

Мой вопросо настройке быстрых ответов через Node.js webhook.Здесь вы можете увидеть

Мой веб-крючок с использованием QuickReplies (упрощенно)

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {QuickReplies}= require('dialogflow-fulfillment');
const https=require('https');


exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

 function getAllowedParts(agent){
      /* deleted all unuseful details*/
      agent.add(new QuickReplies(['A','B','C']);
  }  //close getAllowedParts


  let intentMap = new Map();
  intentMap.set('UserIntro', getAllowedParts);
  agent.handleRequest(intentMap);

}); 

, но он не работает, печать в консоли

TypeError: QuickReplies нетконструктор

Я следовал тому, что нашел здесь и использовал функции WebhookClient в https://github.com/dialogflow/dialogflow-fulfillment-nodejs/blob/master/docs/WebhookClient.md#WebhookClient+handleRequest.

Истинная проблема заключается в том, что я не могу понять, чтоявляется правильной процедурой добавления быстрых ответов, отличных от заданных по умолчанию, с помощью веб-крюка Node.js в Dialogflow v2.Я также посмотрел на документацию rich messages , но в этой теме его не хватало.Любая помощь будет оценена, спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Вы должны увидеть закомментированные примеры быстрого ответа, заданные в файле index.js по умолчанию в консоли Dialogflow.

 agent.add(new Suggestion(`Quick Reply`));
 agent.add(new Suggestion(`Suggestion`));

Вы также можете увидеть из Github repo , есть и другие доступные методы для быстрых ответов:

let suggestion = new Suggestion('reply to be overwritten');
suggestion.setReply('reply overwritten');
...