如何更新已从 BOT 发送给用户的自适应卡?

2023-12-09

我已经发送了包含捕获详细信息和按钮的卡片。从任务模块单击提交后,该模块将通过 http API 保存详细信息,此处的活动类型为“调用”。 现在我必须更新现有的自适应卡。

我有更新消息的代码,但如何更新卡或再次重新发送卡。

                connector = new ConnectorClient(new Uri(activity.ServiceUrl));
                reply = activity.CreateReply($"You sent {activity.Text} which was {activity.Text.Length} characters");
                var msgToUpdate = await connector.Conversations.ReplyToActivityAsync(reply);
                Activity updatedReply = activity.CreateReply($"This is an updated message");
                await connector.Conversations.UpdateActivityAsync(reply.Conversation.Id, msgToUpdate.Id, updatedReply);

这涉及几个步骤。

  1. 创建自适应卡并在自适应卡操作中添加唯一 ID (GUID)。

    var Card = new AdaptiveCard()
    {
          Body = new List<AdaptiveElement>()
    {
        new AdaptiveTextBlock(){Text="This is a test adaptive card"}
    },
    Actions = new List<AdaptiveAction>()
    {
        new AdaptiveSubmitAction()
        {
            Title="UpdateMe",
            DataJson= @"{'id':'uniqueId'}"
        }
    }
    };
    
  2. 发送消息后保持自适应卡 uniqueId 和消息 id 的映射。

    connector = new ConnectorClient(new Uri(activity.ServiceUrl));
    reply = activity.CreateReply();
    reply.Attachments.Add(Card.ToAttachment());
    var msgToUpdate = await connector.Conversations.ReplyToActivityAsync(reply);
    // Keep mapping of uniqueId and messageToUpdate.Id
    // UniqueId1 => messageId1
    // UniqueId2 => messageId2
    
  3. 当用户单击 UpdateMe 操作按钮时,检查映射uniqueId(这将在activity.Value).

  4. 创建新卡并拨打电话connector.Conversations.UpdateActivityAsync与更新的代码。

如果您需要更多详细信息,请告诉我们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新已从 BOT 发送给用户的自适应卡? 的相关文章

  • 将 ARGB 拆分为字节值

    我有一个 ARGB 值存储为 int 类型 它是通过调用 ToArgb 来存储的 我现在想要来自 int 值的各个颜色通道的字节值 例如 int mycolor 16744448 byte r g b a GetBytesFromColor
  • C语言实现延时函数

    我想使用空循环实现延迟函数 但是完成一次循环所需的时间取决于编译器和机器 我希望我的程序自行确定时间并将程序延迟指定的时间 谁能给我任何想法如何做到这一点 注意 有一个名为delay 的函数可以将系统暂停指定的毫秒 是否可以在不使用此功能的
  • OpenCV SVM 给出奇怪的预测结果

    我对 OpenCV 和支持向量机都很陌生 我想使用 SVM 训练具有两个标签的数据集 然后预测给定集合的标签 我当前的集合包含大约 600 行 具有相等的类分布 1 为 300 行 1 为 300 行 包含 34 列 这是我当前用于设置 O
  • C++:字符串流有什么好处?

    谁能告诉我一些在 C 中使用字符串流的实际例子 即使用流插入和流提取运算符输入和输出到字符串流 您可以使用字符串流来转换任何实现operator lt lt 到一个字符串 include
  • C++ 并行任务的开销

    我有以下简单的功能 include
  • 微软怎么能说WinAPI中一个字的大小是16位呢?

    我刚刚开始学习WinAPI 在MSDN中 对WORD数据类型提供了以下解释 WORD16 位无符号整数 范围是十进制 0 到 65535 该类型在 WinDef h 中声明如下 typedef 无符号短 WORD 很简单 而且它与我一直在使
  • 将视频上传/保存到数据库或文件系统

    我以前从未尝试过保存视频 所以我对此了解不多 我知道如果视频很小 我可以转换为字节数组并保存到数据库 但是为了提高效率 我想了解如何将任何上传的视频保存到我的服务器文件中 然后只保存该文件的文件路径我的数据库表中的视频 我完全不知道如何开始
  • 我如何知道向量的实际最大大小? (不使用 std::vector::max_size)

    在在线课程中 我正在学习向量 在其中一个例子中 他们解释说 std vector max size 应该给我向量可以达到的最大大小 我决定测试一下 include
  • 为什么我收到编译错误“使用已删除的函数 'std::unique_ptr ...”

    我收到一条巨大的编译错误消息 c mingw include c 6 1 0 bits predefined ops h 123 18 error use of deleted function std unique ptr lt Tp D
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • 使用左连接获得不适当的输出

    我正在尝试获取变体列表 并且对于每个变体都获取所有subvariants list无论子变体属于何处 特别的Test say 100 这是示例数据 Id TestId SourceSubVariantId TargetSubVariantI
  • 如何解析多态 JSON 数组?

    我有一个 JSON 格式的文件 其中包含个人用户的记录 一些用户的记录中间有一个评论字段 我只想解析顶级项目 全名 贡献者姓名 电子邮件 使用 Newtonsoft JSON 解析器 但我似乎无法让它识别单个对象 当我将整个字符串解析为一个
  • 为什么最小的 int -2147483648 的类型为“long”? [复制]

    这个问题在这里已经有答案了 对于一个学校项目 我必须编写 C 函数 printf 的代码 一切进展顺利 但有一个问题我找不到好的答案 所以我来了 printf PRINTF d t d n 2147483648 告诉我 gcc Werror
  • Rx 在不同的线程上生产和消费

    我试图通过此处的示例代码来简化我的问题 我有一个生产者线程不断地输入数据 并且我尝试在批次之间添加时间延迟来对其进行批处理 以便 UI 有时间渲染它 但结果并不如预期 生产者和消费者似乎在同一个线程上 我不希望批处理缓冲区在正在生成的线程上
  • 如何在 stl 模板中使用导出类 (__declspec(dllexport))?

    我正在使用导出的类 class declspec dllexport myclass private template declspec dllexport class std map
  • 在链表程序中使用模板时重载 C++ 中的 << 运算符

    我正在尝试实现一个链接列表 但是当我尝试重载 include
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 小数精度

    我使用小数类型进行高精度计算 货币 但我今天遇到了这个简单的划分 1 1 37 这应该再次得到 37 http www wolframalpha com input i 1 2F 281 2F37 29 http www wolframal
  • Selenium - 模式对话框存在 - 如何接受信息?

    我有以下问题 在页面上提交一些日期后 我有一个如图所示的模式对话框 我想单击 ENTER 来浏览该模式 但它不起作用 我有以下代码 driver FindElement By CssSelector input submit Click A

随机推荐

  • Rails gem 将一个段落分成一系列句子

    我试图将一个段落分成一系列句子 使每个句子组保持在 N 个字符以下 如果单个句子的长度超过 N 则应将其分成多个块 并以标点符号或空格作为分隔符 例如 如果 N 50 则以下字符串 Lorem ipsum consectetur elit
  • 从相机胶卷图像创建视频 - iOS sdk

    我使用以下代码从图像创建视频 当我从从网络下载的相机胶卷或屏幕截图中选择图像时 此代码工作正常 但从相机拍摄的所选图像显示在电影中放大 我不知道相机的图像有什么问题 谁能帮我解决这个问题 IBAction createV id sender
  • 如何修复以下 Django 错误:“类型:IOError”“值:[Errno 13] 权限被拒绝”

    我正在遵循 Django 教程 在该教程中 一旦图像保存在管理中 您就需要构建一些图像缩略图 我还使用 Python 的 tempfile 模块来保存临时文件名 但是我不断遇到以下错误 Type IOError Value Errno 13
  • 为什么三元运算符不支持块?

    为什么三元运算符没有块 换句话说 为什么下面的代码不起作用并报告错误 braces int main int i 1 i 1 printf Hello n printf World n return 0 EDIT 也许这个问题被误解了 问题
  • Android 矢量绘图应用程序:srcCompat 不显示图像

    我正在使用支持库在 android kitkat 上显示矢量图像 当我在模拟器上测试我的应用程序时 我没有看到任何这些图像 我为 android lollipop 及以上做了一个单独的布局 它工作得很好 我想因为我正在使用src属性而不是s
  • 当前上下文中不存在名称 gridview1

    我是 C 新手 只需遵循 YouTube 简单示例并尝试简单地连接到 SQL 数据库 但GridView1给我一个错误 这是我的 WebForm1 aspx cs using System Linq using System Web usi
  • 将 count 作为标签添加到 geom_count 中的点

    我使用 geom count 将重叠点可视化为大小组 但我还想将实际计数作为标签添加到绘制的点上 如下所示 However to achieve this I had to create a new data frame containin
  • 将 JSON 对象从客户端 JavaScript 传递到 Node JS

    我有一个网页 它根据用户输入创建 JSON 对象 然后我想以某种方式允许用户将此 JSON 对象提交到 NodeJS 脚本以进行处理 插入到 MySQL 数据库中 然而 我真的不知道如何做这样的事情 我能想到的最好的办法就是某种形式的 PO
  • PHP parse_str 函数用空格替换+号

    我有一个变量 我通过 url 作为jSON字符串 其中一部分是以下字符串 signature 8W2sp J kC6fh8a88jabNPuA8048sShDnXNOo1jSQ 当我读取 url 并使用解析字符串时parse str php
  • 可以在现有 ASPNET.Core Web 项目中调用和/或使用辅助服务吗?

    我一直在阅读和学习 Net Core 3 0 中提供的新 Worker Service 功能 我一直在使用微软的这个链接 ASP NET Core 中托管服务的后台任务 我不明白的是 这些辅助服务概念是否可以引入到现有的 ASPNET We
  • 仅使用 data.table 将 NA 替换为 data.table 中的最后一个非 NA

    我想更换NA最后一个非 NA 值的值data table并使用data table 我有一个解决方案 但它比na locf library data table library zoo library microbenchmark f1 l
  • Google Drive API 403 禁止

    我们使用 Google Drive API 来允许用户浏览并选择要在报告中使用的文件 我们的一位用户 该问题并不普遍 在尝试获取文件列表时遇到错误 如下 从 Google 返回的 JSON 正文 error errors domain gl
  • HttpClient - 如何判断服务器是否更快地关闭?

    我正在使用 NETHttpClient向我的服务器发送请求 我已经设定HttpClient Timeout属性为 10 秒 所以我得到了A task was cancelled每当服务器无法在 10 秒内处理我的请求时 就会出现异常 到这里
  • Windows快捷方式的内部结构是怎样的?

    一台计算机上有 3 个硬盘 2 个 Windows XP 1 个 Windows 7 依次从每个硬盘加载操作系统 我发现在第一个 XP 中创建的一些工作快捷方式 不是全部 在第二个 XP 和 Windows 7 中不起作用 不可用于查看快捷
  • Xcode 4.5 iOS 6.0 模拟器方向不起作用

    我已经将我的 Xcode 更新到 4 5 我已经实现了如下方向方法 BOOL shouldAutorotate return YES NSUInteger supportedInterfaceOrientations return UIIn
  • ASMX 操作 404s,但 ASMX 服务描述没有,url 路由问题?

    所以我发现自己遇到了一个难题 我们的应用程序中有一些旧的 asmx Web 服务 多年来一直运行良好 突然间 他们停止了构建服务器 CI 上的工作 我说停止工作 因为即使当我导航到服务时显示服务描述 调用任何操作都不会路由到服务 Web 表
  • 在 React 中,ref 是引用虚拟 DOM 还是实际 DOM?

    我假设虚拟 DOM 并且 React 通过比较来处理它 但我有一位招聘人员说 ref 会影响实际的 DOM 我不明白这是怎么回事 我认为他们只是误会了 Refs 应该引用实际的 DOM Refs 的一种用法是与第三方 DOM 库集成 因此您
  • 使用 Lodash 合并复杂对象数组

    我是 Lodash 的新手 正在尝试解决这个问题 但可以找到一个好方法 我有一个从数据库返回的对象数组 数据结构如下 var data index 1 Aoo a1 Boo b2 index 1 Aoo a2 Boo b2 index 2
  • 无效的 Swift 支持/无效的 Swift 实现

    我想上传一个用 swift 编写的应用程序 应用程序加载器成功交付应用程序 但几分钟后我收到苹果的回复 无效的 Swift 支持 该捆绑包包含无效的 Swift 实现 该应用程序可能是使用不合规或预发布的工具构建或签名的 访问develop
  • 如何更新已从 BOT 发送给用户的自适应卡?

    我已经发送了包含捕获详细信息和按钮的卡片 从任务模块单击提交后 该模块将通过 http API 保存详细信息 此处的活动类型为 调用 现在我必须更新现有的自适应卡 我有更新消息的代码 但如何更新卡或再次重新发送卡 connector new