Я пытаюсь запрограммировать Приложение DialogFlow с интеграцией в Google Assistant (Действия в Google).Мне нужно периодически выполнять сценарий в определенное время на выбранном устройстве Google Home - мне удалось это сделать с помощью подпрограмм .
К сожалению, настройки подпрограмм не так просты, как я ожидал (вам нужно выполнить несколько щелчков мышью и ввести имя настраиваемого действия).Затем я обнаружил, что можно попросить пользователя об этом в Ассистенте ( Обычные предложения ) и позволить ему установить это с меньшим количеством необходимых шагов.
Но моя реализация не работает:
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
...
function scheduleRoutine(agent) {
const intent = agent.arguments.get('UPDATE_INTENT');
agent.add(new RegisterUpdate({
intent: intent,
frequency: 'ROUTINES'
}));
}
let intentMap = new Map();
...
intentMap.set('setup_update', scheduleRoutine)
agent.handleRequest(intentMap);
});
, потому что я использую WebhookClient
Я не могу вызвать conv.arguments.get('UPDATE_INTENT')
, как в примере.Но я могу добраться до той части кода через выполнение, которое приводит к ошибке:
TypeError: Cannot read property 'get' of undefined
at scheduleRoutine (/user_code/index.js:71:34)
Кто-нибудь уже реализовал Обычное предложение с Dialogflow ?