首页 > 解决方案 > 如何使用 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模式中,以便我的机器人可以呈现它。

标签: javabotframeworkmicrosoft-teams

解决方案


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附件测试以获取更多示例。

希望这可以帮助!


推荐阅读