Я отслеживаю намерение для намерения, скажем, «мастер-намерение», чтобы дочернее намерение следовало как «да» и «нет» намерение ответа
Если да, я хочу получить параметры из основного намерения
Я пытаюсь получить к нему доступ, используя такой контекст:
var name = agent.context.get('saveContact.saveContact-yes').params['name'];Cannot read property 'get' of undefined
но я не знаю, что положить в get
Это имя контекста? или имя намерения для мастера или имя конкретного дочернего намерения?
Я попробовал оба и получил Null
У меня не получается прочитать свойство 'get' из неопределенного
в журнале.
Библиотеки:
"firebase-functions": "^2.0.2",
"firebase-admin": "^5.13.1",
"googleapis": "^27.0.0",
"actions-on-google": "2.2.0",
"dialogflow-fulfillment": "^0.4.1"
остальной код:
function SaveContact(agent){
//var name = agent.parameters.name;
var name = agent.context.get('saveContact.saveContact-yes').params['name'];
var email = agent.context.get('saveContact.saveContact-yes').params['email'];
// var email=agent.parameters.email;
return admin.database().ref('/contacts').push({name: name,email:email}).then((snapshot) => {
// Redirect with 303 SEE OTHER to the URL of the pushed object in the Firebase console.
agent.add('added sucessfully');
// console.log('database write sucessful: ' + snapshot.val());
});
}
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response }); /// Thid is to handle the communication with dialogflow
let intentMap = new Map();
intentMap.set('makeAppointment', makeAppointment); // It maps the intent 'Make Appointment' to the function 'makeAppointment()'
intentMap.set('saveContact-yes', SaveContact);
agent.handleRequest(intentMap);
});