首页 > 解决方案 > 从机器人发送上下文 - Microsoft 机器人框架

问题描述

我正在使用 Microsoft Bot 框架开发机器人,并且我有一个用例,我的机器人必须将自定义上下文信息发送到我的应用程序。我正在考虑使用 ChannelData 如下所示。这是一个正确的占位符吗?

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

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

      ResponseActivity.ChannelData = channelinfo;

标签: botframeworkbots

解决方案


您可以通过创建自定义存储中间件来修改用户发送的活动,将自定义渠道数据添加到传出活动。通道数据是通道特定的属性包,可用于发送非标准的带内数据。要实现通道特定的功能,您可以在活动对象的通道数据属性中将元数据传递给通道。查看 Backchannel Piggyback on Outgoing Activities Web 聊天示例,其中在机器人上发送的所有“DIRECT_LINE/POST_ACTIVITY”都会将电子邮件添加到通道数据中。

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

这篇博文中详细解释了 NodeJS 和 C# 中通过 Facebook Messenger 发送消息的通道数据的简单示例

希望这可以帮助。


推荐阅读