0
我有一个带有多个卡片和按钮的HeroCard传送带。如果在显示转盘后立即点击,这些按钮将正确路由。但是,如果在对话的后期阶段窃听,路由不起作用。Bot Builder Messenger按钮在点击对话流时点击时路由不正确
如何让按钮正确地路由对话,如果他们被反转出来(即在一段时间以外的旋转木马显示后立即点击)?
我有一个带有多个卡片和按钮的HeroCard传送带。如果在显示转盘后立即点击,这些按钮将正确路由。但是,如果在对话的后期阶段窃听,路由不起作用。Bot Builder Messenger按钮在点击对话流时点击时路由不正确
如何让按钮正确地路由对话,如果他们被反转出来(即在一段时间以外的旋转木马显示后立即点击)?
我想通了。在Bot Builder的3.1版本中,我们有能力使用正则表达式来检查与短语的匹配 - 请参阅IntentDialog。在对话流程中的任何地方使用这种方法,用户可以输入一个特定的阶段(比如'help'),并且可以被重定向到该路线。
点击按钮时,我们可以使用相同的方法。重要的是要注意的是,点击按钮时返回的消息不是用户看到的字符串。相反,它是按钮希望指向的路线。
因此,您可以使用正则表达式来侦听路由,然后重定向到该路由。例如:
var intents = new builder.IntentDialog();
bot.dialog('/', intents);
intents.matches(/^theRouteYourButtonIsDirectingTo\//i, [
function (session) {
// Whatever you want to return
},
]);