Да, использование параметризованных функций или классов является хорошей практикой. С помощью этой настройки вы можете легко повторно использовать любой необходимый лог c, если два намерения выполняют действия similair в webhook. Если вам требуется другое поведение, вы можете ввести значения в параметры, например, это может быть функция, которая завершает диалог.
app.intent("Stop Conversation"), (conv) => {
const message = "Okay, have a nice day";
endConversation(conv, message);
});
app.intent("Cancel Reservation"), (conv) => {
const message = "Okay, I will cancel your reservation. Have a nice day."
endConversation(conv, message)
});
endConversation(conv, message) {
conv.close(message);
}
Вы можете выбрать go для одного обработчика, который ищет имя намерения, а затем извлекает ответ, но это может вызвать некоторые проблемы при работе с намерения помощника . Эти вспомогательные намерения требуют дополнительных параметров, которые обычные намерения не используют, поэтому вам придется учитывать их в общем обработчике или писать для них отдельные обработчики. Если вам не нужны эти намерения, то использование отдельного обработчика не повредит.
Еще одна вещь, которую стоит отметить, наличие 100 намерений - это довольно много. Помните, что намерения должны использоваться для указания того, что говорит пользователь, а не как шаг в вашем потоке. Обычно это означает, что у вас есть только одно намерение обработать ввод от ваших пользователей, и вы будете использовать context , чтобы определить, на каком этапе беседы вы находитесь.