首页 > 解决方案 > bot框架v4中中间件的onturnasync问题

问题描述

我面临OnTurnAsync()中间件方法的问题。我几乎已经在我现有的 Bot 中集成了 tompanna 提供的人工切换中间件 Bot 示例,但OnTurnAsync()在消息活动中仍然没有调用中间件中的方法。

OnTurnAsync()理想情况下,需要先执行中间件,然后再执行 bot OnTurnAsync()OnTurnAsync()在我们的例子中,每个消息活动都会调用bot 。任何人都可以对此有所了解吗?

标签: c#botframeworkmiddleware

解决方案


为了清楚起见,我假设您正在谈论此示例。

我没有详细研究它,但从概念上讲,这背后的想法是它只会在满足特定条件时“切换”(即,如果来自用户的消息包含“人类”这个词)。只有在这种情况下,机器人才会真正“处理”消息(通过将其传递给人工操作员)。在所有其他情况下,它假定您的机器人本身旨在处理消息(即轮到)。从本质上讲,该示例正在帮助您的机器人将某些消息“升级”给人工操作员,而不是每条消息。你想在你的机器人中做一些不同的事情吗?- 每条消息都应该发送给人工操作员吗?


推荐阅读