Как добавить карты в ботов команд Microsoft, используя Bot Framework SDK для Java? - PullRequest
0 голосов
/ 10 июня 2019

Я использую Java botbuilder для создания бота команд Microsoft. Я хочу добавить Карты в мой бот (например, для вставки ссылок, быстрых ответов и изображений).

В приведенной выше ссылке написано: предлагаемые действия не поддерживаются в командах Microsoft: если вы хотите, чтобы кнопки появлялись в сообщении бота команды, используйте карту.

Однако я не могу найти документацию о том, как добавить «карту» в схему Activity.

Я пытался:

1. Использование предложенных действий

Я пытался добавить свой List<CardAction> к SuggestedActions поле в Activity, но они не были предоставлены командами Microsoft (как и ожидалось, в документации сказано, что это не поддерживается).

2. Использование вложений

Я подозреваю, что это можно сделать с помощью вложений, но можно найти только документация для версий C # / JS (например, https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-send-rich-cards?view=azure-bot-service-3.0).

Итак, я хочу знать, как добавить «карту» в схему Activity, чтобы мой бот мог ее визуализировать.

1 Ответ

1 голос
/ 10 июня 2019

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 Тесты вложений для получения дополнительных примеров.

Надеюсь, это поможет!

...