我创建了一个dialogflow代理来注册来自用户的一些信息,因为我需要为每个用户将这些答案写为相同的文档,但是我编写的代码是将每个答案写到单个文档中,而不是将所有答案都写成一个单独的文档,日志没有显示任何错误,所以我想这是我无法识别的逻辑问题...
index.js:
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
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 cadastroHandler(agent) {
let nome = agent.parameters.nome ;
db.collection("cadastros").add({ nome: nome });
let estado = agent.parameters.estado ;
db.collection("cadastros").add({ estado: estado });
let cidade = agent.parameters.cidade ;
db.collection("cadastros").add({ cidade: cidade });
let coord = agent.parameters.coord ;
db.collection("cadastros").add({ coord: coord });
let wppcoord = agent.parameters.wppcoord ;
db.collection("cadastros").add({ wppcoord: wppcoord });
let emailcoord = agent.parameters.emailcoord ;
db.collection("cadastros").add({ emailcoord: emailcoord });
let area = agent.parameters.area ;
db.collection("cadastros").add({ area: area });
agent.add(`cadastro concluido`);
}
function fallback(agent) {
agent.add(`I didn't understand`);
agent.add(`I'm sorry, can you try again?`);
}
let intentMap = new Map();
intentMap.set('cadastro', cadastroHandler);
intentMap.set('Default Fallback Intent', fallback);
// intentMap.set('your intent name here', yourFunctionHandler);
// intentMap.set('your intent name here', googleAssistantHandler);
agent.handleRequest(intentMap);
});
以相同的“ cadastro”意图向用户依次询问每个参数,并作为单独的参数登录
将功能更改为此
function cadastroHandler(agent) {
let { nome, estado, cidade, coord, wppcoord, emailcoord, area } = agent.parameters;
db.collection("cadastros").add({
nome: nome,
estado: estado,
cidade: cidade,
coord : coord ,
wppcoord : wppcoord ,
emailcoord: emailcoord ,
area :area
});
agent.add(`cadastro concluido`);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句