【问题标题】:How to get message back from Adaptive card如何从自适应卡中取回消息
【发布时间】:2020-01-08 16:48:24
【问题描述】:

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

"actions": [

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

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

问题:

【问题讨论】:

  • 嘿,您可以尝试的一件事是将您的data 值作为带有键valueid 的json,例如:"data": { "value": "Accounts related queries", "id": "Accounts_intent" } 然后idvalue 将通过您的stepContext.Result。然后,您可以知道Accounts_intent 已传递到您的下一步并且Accounts related queries 将被发送到聊天室。
  • 我的回答可以接受吗?

标签: json azure botframework adaptive-cards


【解决方案1】:

我认为你有几个选择

选项 #1

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

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

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

选项 #2

如果您使用字符串作为提交操作数据,则您的卡片不得有任何输入字段。这意味着您可以使用任何类型的丰富卡片来代替自适应卡片,或者您甚至可以使用建议的操作。

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

选项#3

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

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

【讨论】:

  • 我尝试了选项 #2 。 Webchat 和 Bot Framework 模拟器是否支持此功能?
  • @TSR - 模拟器实际上使用网络聊天,是的,它们支持 messageBack
猜你喜欢
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 2019-10-24
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多