java - 如何使用 Bot Framework SDK for Java 将卡片添加到微软团队机器人?
问题描述
我正在使用Java botbuilder来构建一个微软团队机器人。我想将卡片添加到我的机器人(例如嵌入链接、快速回复和图像)。
在上面的链接中它说:Microsoft Teams 不支持建议的操作:如果您希望按钮出现在 Teams 机器人消息上,请使用卡片。
但是,我找不到有关如何将“卡片”添加到Activity
架构的文档。
我试过了:
1. 使用建议的操作
我尝试将我添加
List<CardAction>
到该SuggestedActions
字段中,Activity
但微软团队没有呈现它们(正如预期的那样,文档说这不受支持)。
2.使用附件
我怀疑它可以使用附件来完成,但只能找到 C#/JS 版本的文档(例如 https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-发送丰富的卡片?view=azure-bot-service-3.0)。
所以我想知道如何将“卡片”添加到Activity
模式中,以便我的机器人可以呈现它。
解决方案
BotFramework Java SDK 仍处于预览阶段,因此我无法为您提供很多文档。但是,这里是一个将 HeroCard 添加到回复的示例。
Activity reply = new Activity()
.withType(ActivityTypes.MESSAGE)
.withRecipient(activity.from())
.withFrom(activity.recipient())
.withAttachments(Arrays.asList(
new Attachment()
.withContentType("application/vnd.microsoft.card.hero")
.withContent(new HeroCard()
.withTitle("Hero Card")
.withSubtitle("BotFramework")
.withButtons(Arrays.asList(new CardAction()
.withValue("https://docs.microsoft.com/en-us/azure/bot-service/")
.withTitle("Get started")
.withType(ActionTypes.OPEN_URL)
))
.withImages(Collections.singletonList(new CardImage()
.withUrl("https://sec.ch9.ms/ch9/7ff5/e07cfef0-aa3b-40bb-9baa-7c9ef8ff7ff5/buildreactionbotframework_960.jpg"))))
));
您还可以查看 SDK附件测试以获取更多示例。
希望这可以帮助!
推荐阅读
- ios - iOS 应用程序在设备上运行,但未创建 .ipa
- git - 致命:“core.autocrlf”的布尔配置值错误
- google-apps-script - 拒绝访问:DriveApp
- java - 递归函数具有 void 数据类型,但出现错误
- excel - 即使文件已打开并被其他用户使用,如何使 ssis excel 数据源任务不会失败?
- detox - Detox 的 `device.openURL` 无法在 Android 上运行
- node.js - 当我尝试连接 Mondo DB 时,event.bind 停止作为一个函数工作
- java - Java:在不创建许多线程的情况下向 websocket 发送消息
- excel - 检查多个工作表上的特定行是否有一个“x”(问卷)
- javascript - 在页面完成加载之前捕获 cookie 的值