如何使用DialogFlow实现传递回调函数内的参数

时间:2018-06-05 14:34:43

标签: javascript node.js dialogflow

我有以下代码:

router.post('/agent/fullfilments', cors(corsOptions), function(request, response) {
  const agent = new WebhookClient({ request, response });

  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

  let intentMap = new Map();
  intentMap.set('Default Welcome Intent', welcome);
  intentMap.set('Hello', hello);
  intentMap.set('Default Fallback Intent', fallback);
  intentMap.set('Callback request - yes', callbackRequestYes);

  agent.handleRequest(intentMap);
});

我想在callbackRequestYes函数上传递几个参数。 我试过这样的事情,但没有工作:

function callbackRequestYes(agent) {
  console.log( "phone number: " + request.body.queryResult.parameters.phoneNumber);
  agent.add(`we will call you soon...`);
}

如何将phoneNumber传递给回调函数,以便我可以在callbackRequestYes()函数中打印它

编辑: 我如何通过检测输入操作而不是Intent名称来响应,因为Intent Names有时会改变它们而不是input.action?

1 个答案:

答案 0 :(得分:0)

似乎传递的agent参数包含所有信息,因此这是有效的:

function callbackRequestYes(agent) {
  console.log(agent.parameters);
  console.log( "phone number: " + agent.parameters.phoneNumber);
  agent.add(`we will call you soon...`);
}