【发布时间】:2018-02-28 19:36:09
【问题描述】:
我有两个对话框。 /test 由用户触发 (luis) 然后它应该移动到第二个 /help,当它收到事件时应该返回 /test 并继续在那里。 问题是它不会等待事件被触发返回到 /test,即使 /help 中的结束对话框应该只在事件之后触发。
我的用例是我想让用户登录,如果他想要一些需要身份验证令牌但尚未登录的东西,然后让他在使用 facebook webview 登录完成后继续他的初始请求。 所以用户应该留在“登录”,直到他成功登录的事件到达,然后继续使用/getUserdata。
有人知道如何解决这个问题吗?是 bot.on 错误的方法吗?
bot.dialog('/getUserData', function (session, args, next) {
session.beginDialog("/Login");
[...make request for user data]
session.send("This is your user data ${userdata}").endDialog();
}).triggerAction({ matches: "getUserData" });
bot.dialog('/Login', function (session, args, next) {
session.send("You need to login for this action");
[..open facebook webview so user can login]
bot.on("event", function (event) {
session.send("2:Successfully logged in").endDialog();
})
})
【问题讨论】:
-
您所说的“事件”是指从您的网站发送到您的机器人的事件吗?
-
是的,完全正确。这是我从我的网站发送的事件。
-
更具体地说,我使用的是those events
标签: node.js botframework