如何在Visual Studio内置的Bot framework SDK V4上存储Root bot和skill bot的用户对话?

How to store user conversation of Root bot and skill bot on Bot framework SDK V4 built in Visual Studio?

我已经使用 Tompanna 示例中介机器人示例 https://github.com/tompaana/intermediator-bot-sample as a root bot and connected it to a dailog Skill, We followed https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/81.skills-skilldialog 这个示例构建了一个 Handoff 机器人。

现在我正在尝试存储用户对话,为此我遵循了这篇 https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-storage?view=azure-bot-service-4.0&tabs=csharp 文章,但它只存储根机器人的对话。我想存储 bot root 和 skill 的对话。

谁能指导我存储对话? Application insight 是否也可以用于存储日志对话? 提前致谢!!

在您的问题中,它仅包含用于机器人存储的文档,但您需要为每个对话维护机器人状态。因此,如果您想存储机器人对话,则需要在机器人流程中实施状态管理。

The state and storage features of the Bot Framework SDK allow you to add state to your bot. Bots use state management and storage objects to manage and persist state. The state manager provides an abstraction layer that lets you access state properties using property accessors, independent of the type of underlying storage.

用户状态 在机器人与该频道上的该用户交谈的任何回合中都可用,无论对话如何。

对话状态在特定对话的任何回合都可用,与用户无关(即群组对话)

如果需要,您还可以使用 TelemetryClient(如跟踪、指标等)将对话流作为自定义事件存储在 Application insight 中

参考:

  1. Save user and conversation data
  2. Managing state
  3. Application Insights API for custom events and metrics