Я новичок в диалоговом потоке, и я пытался отправить ответ от nodejs webhook моему боту DF, когда запись была добавлена в базу данных Firestore. Я много искал и не мог найти ни примеров, ни документов, которые могли бы помочь мне понять.
Это облачная функция, которая выполняет вышеуказанное:
const functions = require('firebase-functions');
const mysql = require('mysql');
const promise_mysql = require('promise-mysql');
const {WebhookClient} = require('dialogflow-fulfillment');
process.env.DEBUG = 'dialogflow:debug';
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
exports.dialogflowFirebaseFulFillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Request headers: ' + JSON.stringify(request.headers));
console.log('Request body>>>>>>>> ' + JSON.stringify(request.body));
const parameters = request.body.queryResult.parameters;
db.collection('reservations').add(parameters).then(() => {
agent.add("Room reversed!")
}).catch((e => {
agent.add('Something went wrong!!!!!')
}))
});
// Other stuff
Проблема (я думаю) заключается в этой части:
db.collection('reservations').add(parameters).then(() => {
agent.add("Room reversed!")
}).catch((e => {
agent.add('Something went wrong!!!!!')
}))
Она отлично добавляет запись, но Я не могу получить ответ диалогового потока, поскольку ни один из параметров не отображается: agent.add("Room reversed!")
, agent.add('Something went wrong!!!!!')
Чего мне не хватает? Спасибо.