Я создаю чат-бота с MS Bot Framework в Nodejs и LUIS. Недавно я пытался получить определенную информацию из API MS Graph, и (вроде) успешно реализовал BotAuth и могу получить требуемую информацию.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что для диалогового окна, реализующего BotAuth, я не могу получить обычный args
, который поставляется с диалоговыми окнами, запускаемыми с помощью LUIS-intets. Таким образом, я не могу получить entities
, которые мог ввести пользователь. Другие диалоги, которые не реализуют BotAuth, не имеют проблем с этим.
То, что я сейчас получаю от args
, это:
{ response: undefined, resumed: 4 }
Я предполагаю, что проблема связана с частью [].concat
в этом разделе:
bot.dialog('refreshSchDialog-oauth', [].concat(
ba.authenticate("aadv2"),
(session, args, skip) => {
let user = ba.profile(session, "aadv2");
session.endDialog(user.displayName);
session.userData.accessToken = user.accessToken;
session.userData.refreshToken = user.refreshToken;
console.log('args');
console.log(args);
if (user.accessToken) {
session.send('got leh');
// valid access token, check if luis has any entities (MV name)
// if there is, store conversationData and move to next dialog
if (args.entities) {
for (i = 0; i < args.entities.length; i++) {
if (args.entities[i].type == 'dbName') {
session.conversationData.mvName = args.entities[i].entity;
session.send(args.entities[i].entity);
}
}
}
session.beginDialog('refreshSchDialog');
} else {
// no valid access token
// TODO error message
}
}))
.triggerAction({
matches: 'refreshSchema',
intentThreshold: 0.3
});
Могу ли я знать, почему args
не возвращает информацию из LUIS?