我正在尝试将用户向我的QNA Maker Bot提出的新问题保存到Azure数据库中,以便我可以将答案添加到我的知识库中。
目前,我要求用户在没有从我的机器人那里得到答复时,以反馈形式编写他们的问题。这需要时间,也可以通过写作而烦恼。我希望我的机器人收集这些问题并将其存储一个数据库。
因此,请指导如何实现这一目标,任何链接或建议。
我能够使用SharePoint列表来实现类似的东西。
https://stackoverflow.com/a/56612401/9611859
如果您想在SharePoint列表中添加不答案,我设法使用CSOM节点软件包和Bot Framework V4/nodejs使其工作。当然,这不是最优雅的解决方案,但它起作用。
bot.js
const csomapi = require('../node_modules/csom-node');
settings = require('../settings').settings;
// Set CSOM settings
csomapi.setLoaderOptions({url: settings.siteurl});
在页面上稍稍进一步...
// If no answers were returned from QnA Maker, reply with help.
} else {
await context.sendActivity("Er sorry, I don't seem to have an answer.");
console.log(context.activity.text);
var response = context.activity.text;
var authCtx = new AuthenticationContext(settings.siteurl);
authCtx.acquireTokenForApp(settings.clientId, settings.clientSecret, function (err, data) {
var ctx = new SP.ClientContext("/sites/yoursite"); //set root web
authCtx.setAuthenticationCookie(ctx); //authenticate
var web = ctx.get_web();
var list = web.get_lists().getByTitle('YourList');
var creationInfo = new SP.ListItemCreationInformation();
var listItem = list.addItem(creationInfo);
listItem.set_item('Title', response);
listItem.update();
ctx.load(listItem);
ctx.executeQueryAsync();
});
}