重新加载后无法触发消息

时间:2019-05-17 01:50:08

标签: node.js botframework

输入“重置”后,我没有收到任何消息“欢迎回来”并重新开始对话。

```{r, results='asis', echo=FALSE}
for (i in 1:3) {
cat('\\subsection{',words[i],'}')
}
```

! Missing $ inserted.
<inserted text> 
                $
l.283 \subsection{ plz_work }

Error: Failed to compile test_delete_is_ok.tex. See test_delete_is_ok.log for more info.
Execution halted

1 个答案:

答案 0 :(得分:0)

reloadAction仅适用于已经添加到堆栈中的对话框。为了正确使用它,需要将reloadAction附加到先前已经调用/使用过的对话框中。

例如,如果用户正在多个对话框中回答一系列用户配置文件问题(个人信息,然后是地址/以前的地址,然后是教育),并且用户在教育对话框中键入“重置”,则reloadAction将触发已附加到第一个用户个人资料对话框(收集个人信息)的事件。因此,该用户将被带回到用户个人资料对话框的开头以重新开始。

如果您打算调用一个新对话框,则可能需要使用triggerAction。 确实完全清除了对话框堆栈,但还允许您重定向回对话框 x 。这样,您只需一点额外的代码即可达到与询问相同的结果:

bot.dialog('reset', [
    function(session, args, next) {
        session.send("Ok, starting over.");
        next();
    },
    function(session) {
        session.send("Welcome Back");
        session.beginDialog('/');
    }]
).triggerAction({
    matches: /^reset/i
});

希望有帮助!