首页 > 解决方案 > 在瀑布步骤期间未定义 dialogContext.activeDialog

问题描述

我正在尝试使用以下 oAuth 提示对用户进行身份验证:

private oauthPrompt = new OAuthPrompt("sign-in", {
    connectionName: this.oauthSigninAzureId,
    title: "Login"
});

然后我创建瀑布步骤:

 private waterfall = new WaterfallDialog(INTENTS.GREETING, [
        (step: WaterfallStepContext) => {
            return step.prompt(
                INTENTS.SIGN_IN,
                " Hello and welcome."
            )
        }, async (step: WaterfallStepContext) => {
            const token = step.result.token;
            ...
        },
    ]);

然后我运行它:

const dialogContext = await this.dialogs.createContext(context); // activeDialog is ALWAYS empty
if (!dialogContext.activeDialog) await dialogContext.beginDialog("sign-in");
else dialogContext.continueDialog();

第一步运行良好。但是当试图查看是否有一个活动对话框时,我dialogContext.activeDialog只检查它是否未定义。

标签: botframeworkazure-bot-service

解决方案


推荐阅读