#json #bots #chatbot #adaptive-cards
#json #боты #чат-бот #адаптивные карты
Вопрос:
Я подумываю о создании адаптивной карточки для часто задаваемых вопросов. Итак, есть карточка с действием.Покажите карточку с заголовком Часто задаваемые вопросы. Как только пользователь нажимает на Часто задаваемые вопросы, карточка должна развернуться, чтобы показать 5 вопросов. Вопрос сам по себе является адаптивной карточкой, поэтому, когда пользователь нажимает на вопросы, карточка открывается, чтобы показать ответ.
Мне не удается разместить карту внутри карты. Вот мой JSON, который я создал с помощью Adaptive Card designer
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Hi I am a ChatBot."
},
{
"type": "TextBlock",
"text": "Look at FAQs below.",
"wrap": true
}
],
"actions": [
{
"type": "Action.ShowCard",
"title": "FAQs",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"body": [
{
"type": "TextBlock",
"text": "How quickly can we close?"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
},
{
"type": "Action.ShowCard",
"title": "Comment",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"body": [
{
"type": "Input.Text",
"id": "comment",
"placeholder": "Enter your comment",
"isMultiline": true
}
],
"actions": [
{
"type": "Action.Submit",
"title": "OK"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Когда я ввожу действие.Показать карточку внутри действия.Тег ShowCard выдает ошибку и изменяет действие.Показать карточку в AdpativeCard. Может ли кто-нибудь показать мне структуру для такого дизайна. Это будет полезно, потому что мне нужно расширить эти часто задаваемые вопросы.
Комментарии:
1. Можете ли вы объяснить, когда вы говорите, что выполняете действие. Показать карточку внутри действия. Тег ShowCard?
Ответ №1:
Возможно, я не понимаю вашу проблему, но я смог создать желаемую структуру в конструкторе без проблем:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Hi I am a ChatBot."
},
{
"type": "TextBlock",
"text": "Look at FAQs below.",
"wrap": true
}
],
"actions": [
{
"type": "Action.ShowCard",
"title": "FAQs",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"actions": [
{
"type": "Action.ShowCard",
"title": "How quickly can we close?",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"body": [
{
"type": "TextBlock",
"text": "Never"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
},
{
"type": "Action.ShowCard",
"title": "Second question",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"body": [
{
"type": "TextBlock",
"text": "Second answer"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
},
{
"type": "Action.ShowCard",
"title": "Comment",
"card": {
"type": "AdaptiveCard",
"style": "emphasis",
"body": [
{
"type": "Input.Text",
"id": "comment",
"placeholder": "Enter your comment",
"isMultiline": true
}
],
"actions": [
{
"type": "Action.Submit",
"title": "OK"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Комментарии:
1. Спасибо, что работает отлично. Я вижу, где я был неправ. Вы должны добавить тег действия для каждого вопроса. Я этого не делал.
2. Могу ли я размещать вопросы не в одной строке, а в стопке?
3. Расположение действий будет контролироваться клиентом канала, и вы не сможете повлиять на это, если не используете веб-чат. К счастью, большинство каналов, которые я видел, выполняют суммирование действий, поэтому вы должны увидеть желаемое поведение, как только используете карту вне конструктора. Если вам нужна возможность изменять макет действия, не стесняйтесь отправлять запрос на функцию в репозитории: github.com/Microsoft/AdaptiveCards/issues