Botframework 从bot发送上下文-Microsoft bot框架

Botframework 从bot发送上下文-Microsoft bot框架,botframework,bots,Botframework,Bots,我正在使用Microsoft Bot framework开发Bot,我有一个用例,在这个用例中,我的Bot必须向我的应用程序发送自定义上下文信息。我正在考虑使用下面这样的数据。 这是正确的占位符吗 Dictionary<string, string> context = new Dictionary<string, string>{ { "foo","bar" }}; Dictionary<string, object>

我正在使用Microsoft Bot framework开发Bot,我有一个用例,在这个用例中,我的Bot必须向我的应用程序发送自定义上下文信息。我正在考虑使用下面这样的数据。 这是正确的占位符吗

      Dictionary<string, string> context = new Dictionary<string, string>{
      { "foo","bar" }};

      Dictionary<string, object> channelinfo = new Dictionary<string, object>
      {{ "context", context }};

      ResponseActivity.ChannelData = channelinfo;
字典上下文=新字典{
{“foo”,“bar”};
字典channelinfo=新字典
{{“上下文”,上下文};
ResponseActivity.ChannelData=channelinfo;

您可以通过创建自定义存储中间件来修改用户发送的活动,将自定义通道数据添加到传出活动中。通道数据是通道特定的属性包,可用于发送非标准带内数据。若要实现通道特定的功能,可以将元数据传递到活动对象的通道数据属性中的通道。查看网络聊天示例,其中所有通过bot发送的“DIRECT\u LINE/POST\u活动”都会在频道数据中添加电子邮件

根据正在使用的频道,可以使用频道数据属性指示频道实现功能。文档提供了有关如何为不同通道创建自定义消息的详细说明

本文详细介绍了NodeJS和C#中通过Facebook Messenger发送消息的通道数据的一个简单示例


希望这能有所帮助。

感谢您的回复。我探索了适合我需求的中间件方法。但是使用自定义适配器如何?根据您的要求,我认为中间件更合适,因为使用自定义适配器,您将无法发送任何类型的数据,并且仍然需要使用channelData来遵循通道模式。您能简要介绍一下您所说的数据类型吗?在您的情况下,它是自定义上下文信息。如果您使用的是电子邮件频道,那么它将包含电子邮件的正文、主题、收件人或附件。我具体指的数据类型是“消息中特定于每个通道的内部数据”