Вы можете использовать webhook для заполнения слотов.(под «Включить вызов webhook для этого намерения», включите кнопку Enable webhook call for slot filling
).Делая это, вы все еще можете оставаться в функции обработчика намерений и запрашивать то, что вам нужно, пока вы не сможете завершить свои шаги.
Например:
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');
}
}
Также вы можете использовать эту функцию в действиях-на Google-библиотека.
Проверьте для получения дополнительной информации:
Webhook для заполнения слотов