我当前正在尝试创建一个全局中断,以便如果用户被卡在对话树中,他们可以键入“取消”,那么这将使用户脱离他们被卡在的树中并允许他们启动再次问问题。在SDK3中,通过使用
bot.dialog('/cancel', (session) => {
session.send('The current action has been cancelled. either try again or type "Help"');
session.endDialog();
})
.triggerAction({
matches: /cancel/i,
});
请参阅SDK4文档,建议使用cancelAllDialogs重新创建类似的功能。但是,每当我尝试使用它时,我都会不断 “ TypeError:turnContext.cancelAllDialogs不是函数”。
我用于获取此代码的代码是
await turnContext.cancelAllDialogs(`The current action has been cancelled. either try again or type "Help"`);
我不正确地使用了此功能,还是在某个地方缺少了模块,或者有更好的方法来处理此问题?
答案 0 :(得分:0)
此处的问题应该是referred内文档中的turnContext
和dialogContext
一样cancelAllDialogs()
await dialogContext.cancelAllDialogs(`The current action has been cancelled. either try again or type "Help"`);
turnContext
为您的漫游器当前发生的来回创建方法,而dialogContext
是对话堆栈的更广泛范围。