拦截虚拟助手模板 Botframework 中的传出活动

Intercepting outgoing activities in Virtual Assistant Template Botframework

我正在寻找 Microsoft Bot 代码(使用虚拟助手模板 4.9.1.1 创建)中的一个位置,在那里我可以在从 bot 发送之前拦截任何传出 activity给客户。

据我了解,一种解决方案可能是在 DefaultAdapter 中覆盖这两个方法:

bool CanProcessOutgoingActivity(Activity activity)

Task<ResourceResponse> ProcessOutgoingActivityAsync(ITurnContext turnContext, Activity activity, CancellationToken cancellationToken)

由于我只需要对 activity 进行一些更改,我想我可以直接在 CanProcessOutgoingActivity 中进行。但是我错了,因为我还需要上下文中的一些信息。

所以我让 CanProcessOutgoingActivity() return 为真并在 ProcessOutgoingActivityAsync 中移动逻辑,所有信息都可用。

但是我不明白它应该如何工作以及 ResourceResponse 参数中的方法应该 return。

是否有任何示例或文档可以让我了解它是如何工作的?

Middleware 将是推荐和最直接(更不用说模块化)的方法。它专为此类场景而设计,应该可以满足您的需求。