Google предоставляет документацию для веб-крючков Dialogflow здесь , которые включают этот пример веб-крючка для проверки параметров и динамического создания подсказок заполнения слотов:
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function flight(agent) {
const city = agent.parameters['geo-city'];
const time = agent.parameters['time'];
const gotCity = city.length > 0;
const gotTime = time.length > 0;
if(gotCity && gotTime) {
agent.add(`Nice, you want to fly to ${city} at ${time}.`);
} else if (gotCity && !gotTime) {
agent.add('Let me know which time you want to fly');
} else if (gotTime && !gotCity) {
agent.add('Let me know which city you want to fly to');
} else {
agent.add('Let me know which city and time you want to fly');
}
}
let intentMap = new Map();
intentMap.set('flight', flight);
agent.handleRequest(intentMap);
});
Я думаю, будет добавлено
console.log(agent);
прямо перед определением функции полета, затем проверяя журналы, чтобы увидеть, какие объекты содержит агент, затем добавляя итерации console.log (agent.fakeObjectName), пока не найдете нужную информацию.
Если вы следуете процессу развертывания, рекомендованному в Действиях на Codelabs Google уровня 2 , ваши журналы будут отображаться в консоли Firebase, например:
![Firebase console - Functions - Logs](https://i.stack.imgur.com/3oQhb.png)
Надеюсь, это поможет!