如何从自适应卡取回消息

时间:2019-09-05 18:39:54

标签: json azure botframework adaptive-cards

我使用具有2个动作的自适应卡。

"actions": [

    {
      "type": "Action.Submit",
      "title": "Cards related queries",
      "data": "Cards_intent"
    },
    {
      "type": "Action.Submit",
      "title": "Accounts related queries",
      "data": "Accounts_intent"
    }
]

但是,当用户选择执行操作时,我不希望用户看到聊天框中显示的“ Accounts_intent”。相反,我希望显示“与帐户相关的查询”

问题:

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为您有一些选择

选项#1

如果您想继续使用自适应卡,而您唯一关心的是对话历史记录中显示的内容,只需将data属性中的字符串更改为您想要显示的内容即可。

{
  "type": "Action.Submit",
  "title": "Accounts related queries",
  "data": "Accounts related queries"
}

您的漫游器必须知道以“与帐户相关的查询”为文本来响应活动。请记住,用户还可以输入“与帐户相关的查询”来获得相同的结果。

选项#2

如果您使用字符串作为提交操作数据,则您的卡必须没有任何输入字段。这意味着您可以使用任何种类的Rich Card代替Adaptive Card,或者甚至可以使用建议的操作。

如果您确实希望自己的活动包含与用户在对话历史记录中看到的内容不同的文本,则只能在支持该内容的渠道上执行此操作。 Facebook Messenger允许您执行此操作,但它不支持自适应卡。拥有一组可见文本和另一组隐藏数据通常称为messageBack卡片操作。

选项#3

如果您不关心用户在对话历史记录中看到任何内容,则可以使用craigbot的想法,即将Submit操作的数据作为对象而不是字符串,或者可以在Rich Card中使用card操作除了自适应卡。

如果您想了解有关自适应卡的更多信息,尤其是提交操作,请查看我最新的博客文章:https://blog.botframework.com/2019/07/02/using-adaptive-cards-with-the-microsoft-bot-framework/