【问题标题】:Bot Framework Event for Postbacks?回发的 Bot 框架事件?
【发布时间】:2017-06-17 03:20:53
【问题描述】:

我的问题:

我有一张带有回发按钮的自适应卡片,其值为“thisIsMyPostback”。现在,我想按照自己的意愿处理这个回发。

问题是这个回发也可以被输入来达到相同的结果。换句话说,单击按钮并直接向我的机器人“thisIsMyPostback”发送消息会导致相同的结果。

有没有办法将回发消息与“message_received”分开?这样一来,用户直接发送“thisIsMyPostback”消息不会导致与单击按钮相同的结果。

谢谢!

【问题讨论】:

  • @Fabian 您可以在这里发布代码示例或将其放入公共存储库中以便我们查看吗?
  • 他正在使用节点(根据问题标签)

标签: node.js event-handling botframework botkit adaptive-cards


【解决方案1】:

BotFramework WebChat GitHub repo GitHub repo 上的 Adaptive Cards 自述文件指出:

动作的数据属性可以是字符串,也可以是 成为一个对象。字符串作为 Bot Builder SDK 传递回您的机器人 imBack 活动,并且对象作为 postBack 活动传递。 带有 imBack 的活动以用户输入的形式出现在聊天流中 回复。 postBack 活动不显示。

"actions": [
          {
            "type": "Action.Submit",
            "title": "Next",
            "data": { "postBack": "thisIsMyPostback" }
          }
        ]

如果 Activity 的值没有对象,那么用户没有点击按钮。

【讨论】:

    【解决方案2】:

    有没有办法将回发消息与“message_received”分开?这样,用户直接发送“thisIsMyPostback”消息不会导致与单击按钮相同的结果。

    不,目前不可能,因为所有消息(用户或 imBack/postBack)都是“消息”类型,因此除非您在 postBack 中添加一些特殊文本并配置 triggerAction 以认出来。

    有关使用触发器操作的详细信息,请参阅: https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-global-handlers#trigger-a-help-dialog

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 1970-01-01
      • 2022-12-14
      • 2018-01-19
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多