如何在对话流 v2 中调用事件:nodeJS



我正在使用 npm 的 dialogflow v2。我只想在对话流中调用welcome事件。我怎样才能在nodejs中做到这一点。我对它很陌生。 这是我的代码

const projectId = "xxxxxx";
const LANGUAGE_CODE = 'en-US';
const sessionId = req.body.sessionId;
var query = req.body.query;
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId,sessionId);
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: LANGUAGE_CODE,
},
},
};
sessionClient.detectIntent(request).then(response => {
console.log('intent detected');
const result = response[0].queryResult;
console.log(`  Query: ${result.queryText}`);
console.log(`  Response: ${result.fulfillmentText}`);
if(result.fulfillmentText) {
console.log(result.fulfillmentText);
return res.json({reply: result.fulfillmentText})
}
// if(result.intent) {
//   console.log(`  Intent: ${result.intent.displayName}`)
// }
else {
console.log('no intent found');
}
}).catch(err => {
console.log('error '+err);
})

当我打开聊天页面时,我只想抛出一条欢迎消息。为了做到这一点,我读到我必须召集事件。我该怎么做?我从这里获取了参考资料

请求正文应如下所示:

let eventName='WELCOME';  //name of the event
let request = {
session: sessionPath,
queryInput: {
event: {
name: eventName,  
languageCode: 'en-US'
},
},
};

结帐 - https://github.com/googleapis/nodejs-dialogflow/blob/master/samples/detect.js#L96

如果您发现任何困难,请告诉我:)

我建议使用actions-on-google,因为为对话流链接构建nodejs后端要容易得多:谷歌上的操作

有关示例项目,请参阅数字精灵项目

希望这对你有帮助。

相关内容

  • 没有找到相关文章

最新更新