我的问题:
我有一张带有回发按钮的自适应卡片,其值为“thisIsMyPostback”。现在,我想按照自己的意愿处理这个回发。
问题是这个回发也可以被输入以达到相同的结果。换句话说,单击按钮并直接向我的机器人“thisIsMyPostback”发送消息会导致相同的结果。
有没有办法将回发消息与“message_received”分开?这样,用户直接发送“thisIsMyPostback”消息不会导致与单击按钮相同的结果。
谢谢!
我的问题:
我有一张带有回发按钮的自适应卡片,其值为“thisIsMyPostback”。现在,我想按照自己的意愿处理这个回发。
问题是这个回发也可以被输入以达到相同的结果。换句话说,单击按钮并直接向我的机器人“thisIsMyPostback”发送消息会导致相同的结果。
有没有办法将回发消息与“message_received”分开?这样,用户直接发送“thisIsMyPostback”消息不会导致与单击按钮相同的结果。
谢谢!
BotFramework WebChat GitHub repo GitHub repo上的 Adaptive Cards 自述文件指出:
动作的数据属性可以是一个字符串,也可以是一个对象。字符串作为 Bot Builder SDK imBack 活动传递回您的机器人,对象作为 postBack 活动传递。带有 imBack 的活动作为用户输入的回复出现在聊天流中。不显示回发活动。
"actions": [
{
"type": "Action.Submit",
"title": "Next",
"data": { "postBack": "thisIsMyPostback" }
}
]
如果 Activity 的值没有对象,那么用户没有点击按钮。
有没有办法将回发消息与“message_received”分开?这样,用户直接发送“thisIsMyPostback”消息不会导致与单击按钮相同的结果。
triggerAction
不,目前不可能,因为所有消息(用户或 imBack/postBack)都是“消息”类型,因此除非您在 postBack 中放入一些特殊文本并配置 a以识别它,否则无法区分。
有关使用触发器操作的更多信息,请参阅: https ://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-global-handlers#trigger-a-help-dialog