【问题标题】:Use AdaptiveCard form value of Input.Choiceset as a messageback on Submit button使用 Input.Choiceset 的 AdaptiveCard 表单值作为提交按钮上的消息返回
【发布时间】:2020-11-06 19:18:41
【问题描述】:

我有一张自适应卡片,它显示选择集中的管道列表,我想使用所选管道的值作为选择提交按钮时向团队发送的消息。如何访问 Input.Choiceset 的 id 值?

这是提交操作的 sn-p -

    "actions": [
    {
        "type": "Action.Submit",
        "title": "Execute",
        "data": {
            "msteams": {
                "type": "messageBack",
                "text": "" (Choiceset value here)
            }
        }
    }
]

这是选择集 sn-p -

    {
        "type": "Input.ChoiceSet",
        "id": "pipelineSelect",
        "choices": "${list}",
        "placeholder": "pipelines"
    }

【问题讨论】:

    标签: botframework microsoft-teams adaptive-cards


    【解决方案1】:

    最近有一个类似问题的答案可能会有所帮助。查看How to echo user select optionset from ChoiceSet using messageBack or imBack?。此外,查看CardAction 类以及this blog post 的更多信息可能会有所帮助 - 请参阅“团队中的卡片操作”部分,其中甚至描述了一些更高级的 messageBack 选项。

    【讨论】:

    • link 这个问题和我的很相似,但是这个问题没有得到适当的回答,因为他们正在从机器人的源代码中进行验证。我正在寻找在提交时使用“msteams”:“messageBack”功能将用户选择的值回显给机器人。
    • 您是否测试过实际返回到您的机器人的内容?我认为,该值应该在那里,而不是在您的“文本”字段中-它应该在某处的“数据”有效负载中返回。您是否使用 ngrok 在本地运行?如果是这样,请检查本地代理页面 (localhost:4040) 以查看发送时的有效负载 - 看到它有助于了解“在线”是什么
    • 是的,我已经检查过了,用户输入在提交时返回到数据有效负载中,按照指定的 ID。我在 AWS Lambda 上托管机器人,并有一个 API 网关作为端点。我只想在 messageBack 中使用该值,而不是从有效负载中处理它。
    • 您将在数据中收到 input.choiceset 值,这只是设计使然。当您提交他的自适应卡值时,您可以对数据 json 进行消毒并将 input.choice 设置值发送给用户。
    • 感谢您的回答!是的,自适应卡片仍未实现动态分配用户值,这是其路线图的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    相关资源
    最近更新 更多