我正在使用 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后端要容易得多:谷歌上的操作
有关示例项目,请参阅数字精灵项目
希望这对你有帮助。