我正在使用directline V3来测试MS Teams中的机器人。 这是一个在MS团队中显示一些消息的机器人。 有没有办法在不知道各自的对话ID的情况下阅读已经在机器人中发布的所有消息。如何阅读附件截图中bot显示的所有对话。
答案 0 :(得分:1)
在bot方面,如果我们想保存并检索所有对话历史记录,在C#中我们可以实现IActivityLogger
接口,并在Task LogAsync(IActivity activity)
中记录数据,例如:
public class ActivityLogger : IActivityLogger
{
public Task LogAsync(IActivity activity)
{
IMessageActivity msg = activity.AsMessageActivity();
//log here
return null;
}
}
因此,如果您在Azure SQL数据库中保存数据,可以参考Saving Bot Activities in Azure SQL Database,这里有一些official examples。
然后在node.js中,您可以使用中间件拦截和记录消息:
bot.use({
botbuilder: function (session, next) {
myMiddleware.logIncomingMessage(session, next);
},
send: function (event, next) {
myMiddleware.logOutgoingMessage(event, next);
}
})