Action.Submit на адаптивных карточках не работает с Input.Text Python SDK

Я пробую адаптивные карты с SDK Bot Builder v4 Python. Я пытаюсь получить отзыв от пользователя, используя поле Input.text, а затем Action.submit

{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [                           
],
"actions": [{
        "type": "Action.ShowCard",
        "title": "Want to provide feedback",
        "card": {
            "type": "AdaptiveCard",
            "actions": [
        {
            "type": "Action.Submit",
            "data": "Yes, it was helpful",
            "title": "Yes"
        },
        {
            "type": "Action.Submit",
            "data": "No, it wasn't helpful",
            "title": "No"
        },
        {
            "type": "Action.Submit",
            "data": "Start Over",
            "title": "Start Over"
        },
        {
            "type": "Action.Submit",
            "data": "Exit",
            "title": "Exit"
        },{
        "type": "Action.ShowCard",
        "title": "Comment",
        "card": {
            "type": "AdaptiveCard",
            "body": [
                {
                    "type": "Input.Text",
                    "id": "comment",
                    "isMultiline": true,
                    "placeholder": "Enter your comment"
                }
            ],
            "actions": [
                {
                    "type": "Action.Submit",
                    "title": "OK"
                }
            ]
        }
    }
        ]
        }
    }
]}

Это хорошо работает с визуализатором. Когда я пишу комментарии и нажимаю OK, это работает в визуализаторе, но не работает на практике. Выдает ошибку 502.

См. скриншот ниже Пример скриншота

Я использую SDK Bot Build v4 для Python и тестирую его в веб-чате. Кажется, со стороны адаптивной карты проблем нет, я полагаю, это как-то связано с Python SDK. Любые указатели относительно того, где может быть ошибка?


person Vijay    schedule 31.05.2018    source источник


Ответы (1)


Пожалуйста, попробуйте следующий фрагмент кода для быстрого теста:

def __create_reply_activity(request_activity):
        return Activity(
            type=ActivityTypes.message,
            channel_id=request_activity.channel_id,
            conversation=request_activity.conversation,
            recipient=request_activity.from_property,
            from_property=request_activity.recipient,
            attachments=[Attachment(
                content_type='application/vnd.microsoft.card.adaptive',
                content={
                    "type": "AdaptiveCard",
                    "body": [
                    ],
                    "actions": [{
                            "type": "Action.ShowCard",
                            "title": "Want to provide feedback",
                            "card": {
                                "type": "AdaptiveCard",
                                "actions": [
                                    {
                                        "type": "Action.Submit",
                                        "data": "Yes, it was helpful",
                                        "title": "Yes"
                                    },
                                    {
                                        "type": "Action.Submit",
                                        "data": "No, it wasn't helpful",
                                        "title": "No"
                                    },
                                    {
                                        "type": "Action.Submit",
                                        "data": "Start Over",
                                        "title": "Start Over"
                                    },
                                    {
                                        "type": "Action.Submit",
                                        "data": "Exit",
                                        "title": "Exit"
                                    },
                                    {
                                        "type": "Action.ShowCard",
                                        "title": "Comment",
                                        "card": {
                                            "type": "AdaptiveCard",
                                            "body": [
                                                {
                                                    "type": "Input.Text",
                                                    "id": "comment",
                                                    "isMultiline": "true",
                                                    "placeholder": "Enter your comment"
                                                }
                                            ],
                                            "actions": [
                                                {
                                                    "type": "Action.Submit",
                                                    "title": "OK"
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                    }],
                },
                )],
            service_url=request_activity.service_url)

И есть подробное объяснение в Добавление адаптивной карты в бот-фреймворк с питоном

person Gary Liu    schedule 01.06.2018
comment
Спасибо за вклад @Gary Liu - MSFT. Я нашел проблему. Когда я нажимаю OK на карточке комментария, сообщение действительно отправляется боту. Случилось так, что содержимое сообщения не было передано в обычном текстовом свойстве объекта Activity. Он был передан в новом ключе, таком как {'value':{'comment':'Это комментарии''}}. Может быть, я должен написать четкий ответ, объясняющий это. - person Vijay; 01.06.2018
comment
Да, @Vijay, установите value для ввода, вы можете обратиться к adaptivecards.io/explorer/Input. Text.html для более подробной информации. - person Gary Liu; 04.06.2018