正在截获虚拟助理模板Botframework中的传出活动



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

据我所知,一种解决方案可能是在DefaultAdapter中重写这两种方法:

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

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

所以我让CanProcessOutgoingActivity((返回true,并在ProcessOutgongActivityAsync中移动逻辑,在那里所有信息都可用。

然而,我不明白它应该如何工作,也不明白该方法应该在ResourceResponse参数中返回什么。

有没有任何例子或文档可以让我理解它是如何工作的?

中间件将是推荐的最直接(更不用说模块化(的方法。它是为这种类型的场景设计的,应该可以满足您的需求。

最新更新