botframework - 从机器人发送上下文 - 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;
解决方案
您可以通过创建自定义存储中间件来修改用户发送的活动,将自定义渠道数据添加到传出活动。通道数据是通道特定的属性包,可用于发送非标准的带内数据。要实现通道特定的功能,您可以在活动对象的通道数据属性中将元数据传递给通道。查看 Backchannel Piggyback on Outgoing Activities Web 聊天示例,其中在机器人上发送的所有“DIRECT_LINE/POST_ACTIVITY”都会将电子邮件添加到通道数据中。
根据您使用的频道,您可以使用频道数据属性来指示您的频道实现该功能。本文档提供了有关如何为不同频道创建自定义消息的详细说明。
这篇博文中详细解释了 NodeJS 和 C# 中通过 Facebook Messenger 发送消息的通道数据的简单示例。
希望这可以帮助。
推荐阅读
- angular - 是否可以在 Ionic 中运行 Angular Admin 模板项目?
- postgresql - 将 AWS Athena 连接到 Postgres SQL
- python - 至少满足一个条件时显示行
- java - 为什么 Docker 中的 Gerrit 找不到 JAVA_HOME?
- c# - c# 异常处理(将所有内容放在一起,以不同的方法对它们进行排序)
- python - 如何按索引位置过滤掉熊猫数据框中间的一行
- c# - 客户无法使用 smptClient 通过预订表格向我发送电子邮件
- laravel - 检查用户今天是否已通过身份验证
- spring-cloud - 具有 Azure 事件中心限制的 Spring Cloud Data Flow?
- database - Clickhouse - 是否可以在 1 个命令中更改集群中的表