Есть ли способ объединить диалог с намерением, чтобы не иметь избыточного фрагмента кода?
bot.dialog('whats-your-name', require('./dialogs/whats-your-name'))
intents.matches('whats-your-name', require('./dialogs/whats-your-name'))





Вы можете подключить созданный экземпляр IntentDialog к корневому диалогу ("/") и заставить IntentDialog обрабатывать всю маршрутизацию:
var intents = new builder.IntentDialog({ recognizers: [recognizer] });
bot.dialog("/", intents);
Или вы можете отказаться от IntentDialog и вместо этого подключить свои распознаватели к уровню бота следующим образом:
bot.recognizer(recognizer);
bot.dialog("/", [ ... ]);
bot.dialog("luisIntentA", [ ... ])
.triggerAction({
matches: "luisIntentA"
});
Я рекомендую второй подход, так как он дает больший контроль над назначением маршрутизации и переключением между диалоговыми окнами.