我们找到了解释如何在bot框架v3中拦截消息的文档:https://learn.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-middleware?view=azure-bot-service-3.0
我们只想在机器人框架的v4中做到这一点。
我们在此处找不到用于拦截bot框架v4的消息的文档:https://learn.microsoft.com/en-us/azure/bot-service/?view=azure-bot-service-4.0
有没有一种方法可以拦截bot框架v4中的消息,这样我们就可以记录它们?
我们已经在OnMessageActivityAsync
方法中记录了用户消息。因此,我们只需要记录从机器人发送给用户的消息。
提前谢谢。
首先,我们尝试创建自己的中间件,但无法使其工作。
经过进一步的研究,我们决定在MyBot.OnTurnAsync
方法中使用turnContext.OnSendActivities
。像这样:
turnContext.OnSendActivities(async (sendContext, activities, nextSend) =>
{
// Log activities here
return await nextSend();
});
对我们来说,这个解决方案是完美的,而且比创建自定义中间件更容易实现。无论如何,谢谢。