Я пытаюсь получить данные из нескольких намерений по одному и затем сохранить их в базе данных. Я контактные данные от пользователя. Основное намерение состоит в том, чтобы заставить сотрудников и работодателей узнавать подробности друг о друге. Таким образом, однажды сохраняя данные, я буду искать в базе данных и сообщать другому, кто удовлетворяет их критериям. Мой текущий код выполнения выглядит следующим образом:
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
//const {Card, Suggestion} = require('dialogflow-fulfillment');
const admin = require('firebase-admin');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
admin.initializeApp();
let db = admin.firestore();
var a = {};
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function welcome(agent) {
agent.add(`Welcome to my agent!`);
}
function fallback(agent) {
agent.add(`I didn't understand`);
agent.add(`I'm sorry, can you try again?`);
}
function add_name(agent)
{
const name = agent.parameters.name;
//agent.add('Thank you ! ' + name);
//a.name = agent.parameters.name;
db.collection('names').add({name : name});
}
function add_role(agent)
{
const role = agent.parameters.role;
}
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('get name', add_name);
intentMap.set('get role', add_role);
intentMap.set('get age', add_age);
intentMap.set('get phone', add_phone);
intentMap.set('get email', add_email);
intentMap.set('get experience', add_experience);
intentMap.set('get profile', add_profile);
intentMap.set('get salary', add_salary);
function add_salary(agent)
{
a.min_sal = agent.parameters.min_sal;
a.max_sal = agent.parameters.max_sal;
}
function add_profile(agent)
{
a.profile = agent.parameters.profile;
}
function add_experience(agent)
{
a.experience = agent.parameters.experience;
db.collection('test-data').add(a)
.then((d)=>{console.log(d);});
//console.log(a);
}
function add_age(agent)
{
a.age = agent.parameters.age;
}
function add_phone(agent)
{
a.phone = agent.parameters.phone;
}
function add_email(agent)
{
a.email = agent.parameters.email;
}
// intentMap.set('your intent name here', yourFunctionHandler);
// intentMap.set('your intent name here', googleAssistantHandler);
agent.handleRequest(intentMap);
});
Я пробовал учебные пособия по YouTube, но нигде не смог найти. Это сбивает с толку, как получить значения в массиве. Заранее спасибо!