Вот базовая карта с Input.ChoiceSet :
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "Input.ChoiceSet",
"id": "first",
"placeholder": "Placeholder text",
"choices": [
{
"title": "SharePoint",
"value": "SharePoint"
},
{
"title": "Azure",
"value": "Azure"
},
{
"title": "O365",
"value": "O365"
}
],
"style": "expanded"
}
]
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Затем, в вашем боте, следуйте этимответы для работы с пользовательским вводом:
Как правило, вам необходимо:
Отправить карту
Для захвата ввода карты отправьте пустое текстовое приглашение сразу после отправки карты (как описано в первой ссылке)
Используйте оператор if или переключите операторы на следующем шаге вОпределите, какую карту отображать дальше, основываясь на вводе пользователя.При желании вы можете создать карту более динамично, используя вторую ссылку
AdaptiveCards Designer довольно хорош, но ему не хватает возможности установить actions
имущество.Вы можете сделать это вручную, добавив (как я делал выше):
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
Использование изображений
Если вы хотите использовать изображения вместо ChoiceSet
,Вы можете сделать что-то вроде этого:
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "Image",
"id": "choice1",
"selectAction": {
"type": "Action.Submit",
"title": "choice1",
"data": {
"choice": 1
}
},
"url": "https://acuvate.com/wp-content/uploads/2017/02/Microsoft-Botframework.fw_-thegem-person.png",
"altText": ""
},
{
"type": "Image",
"id": "choice2",
"selectAction": {
"type": "Action.Submit",
"title": "choice2",
"data": {
"choice": 2
}
},
"url": "https://acuvate.com/wp-content/uploads/2017/02/Microsoft-Botframework.fw_-thegem-person.png",
"altText": ""
},
{
"type": "Image",
"id": "choice3",
"selectAction": {
"type": "Action.Submit",
"title": "choice3",
"data": {
"choice": 3
}
},
"url": "https://acuvate.com/wp-content/uploads/2017/02/Microsoft-Botframework.fw_-thegem-person.png",
"altText": ""
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Важной частью является проверка того, что Action.Submit
:
- находится на изображении
- Имеет
data
, который вы использовали бы, чтобы захватить, какой выбор выбрал пользователь