如何在 Botframework v4 中触发对话结束?



我正在尝试OnTurnAsync方法中触发条件(turnContext.Activity.Type == ActivityTypes.EndOfConversation)以便我可以对聊天等执行一些清理/摘要。我怎样才能做到这一点?

我已经尝试了CancelAllDialogsAsync()EndDialogsAsync()但两者都不会结束聊天。仅供参考,我使用的是机器人模拟器 4.2.1,没有其他渠道进行测试。

调用CancelAllDialogsAsync()时,我的对话将返回到第一个对话框(即建议列表)。虽然EndDialogsAsync("End",cancellationToken)只是停止对话,但没有触发对话结束活动类型。

无法从 Teams 客户端执行此操作 - Teams 根本不使用 endOfConversation,用户与机器人之间的所有消息将永远包含在同一聊天线程中。

如果您使用的是 Direct-Line的某种变体(例如 botframework-webchat 或 C# Direct-Line SDK),那么您可以安装一个按钮或其他元素来发送"endOfConversation"活动。

最新更新