如何使用C#Core 3.1在Bot Framework v4中拦截消息以进行日志记录



我们找到了解释如何在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();
});

对我们来说,这个解决方案是完美的,而且比创建自定义中间件更容易实现。无论如何,谢谢。

最新更新