WaterfallStepContext class

传入 WaterfallStep的上下文对象。

扩展

构造函数

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

创建新的 WaterfallStepContext 实例。

属性

activeDialog
child
dialogManager
index

正在执行的当前瀑布步骤的索引。

options

DialogContext.beginDialog()开始时传递给步骤瀑布对话的任何选项。

reason

正在执行瀑布步骤的原因。

result

在上一瀑布步骤中调用的对话或提示返回的结果。

values

将在整个瀑布步骤中持久保存的值字典。

继承属性

context

获取轮次的上下文对象。

dialogs

获取可以直接从此上下文调用的对话。

parent

此对话上下文的父对话上下文;如果此上下文没有父上下文,则 undefined

services

获取此对话上下文的上下文的服务集合。

stack

获取当前对话框堆栈。

state

获取管理所有内存范围的视图的 DialogStateManager。

方法

next(any)

跳到下一个瀑布步骤。

继承的方法

beginDialog(string, object)

启动对话实例并将其推送到对话堆栈。 创建对话的新实例,并将其推送到堆栈上。

cancelAllDialogs(boolean, string, any)

取消对话堆栈上的所有对话,并清除堆栈。

continueDialog()

通过将此对话上下文传递给其 Dialog.continueDialog 方法,继续执行活动对话(如果有)。

emitEvent(string, any, boolean, boolean)

搜索具有给定 ID 的对话框。

endDialog(any)

结束一个对话框,并将其从堆栈中弹出。 将可选结果返回到对话框的父级。

findDialog(string)

搜索具有给定 ID 的对话框。

getLocale()

在 DialogContext 中获取 CultureInfo。

prompt(string, string | Partial<Activity> | PromptOptions)

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。

replaceDialog(string, object)

结束活动对话,并在其位置启动一个新对话。

repromptDialog()

请求活动对话框以重新提示用户输入。

构造函数详细信息

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

创建新的 WaterfallStepContext 实例。

new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)

参数

dc
DialogContext

当前对话轮次的对话上下文。

info

WaterfallStepInfo<O>

用于初始化步骤上下文的值。

属性详细信息

activeDialog

DialogInstance | undefined activeDialog

属性值

DialogInstance | undefined

对话堆栈顶部的对话的状态信息,或者当堆栈为空时 undefined

child

DialogContext | undefined child

属性值

DialogContext | undefined

如果活动对话是容器,则子对话的对话框上下文。

dialogManager

警告

现已弃用此 API。

This property serves no function.

DialogManager dialogManager

属性值

当前对话管理器实例。 此属性已弃用。

index

正在执行的当前瀑布步骤的索引。

number index

属性值

number

正在执行的当前瀑布步骤的索引。

options

DialogContext.beginDialog()开始时传递给步骤瀑布对话的任何选项。

O options

属性值

O

调用瀑布对话的任何选项。

reason

正在执行瀑布步骤的原因。

DialogReason reason

属性值

正在执行瀑布步骤的原因。

result

在上一瀑布步骤中调用的对话或提示返回的结果。

any result

属性值

any

上一瀑布步骤的结果。

values

将在整个瀑布步骤中持久保存的值字典。

object values

属性值

object

将在整个瀑布步骤中持久保存的值字典。

继承属性详细信息

context

获取轮次的上下文对象。

context: TurnContext

属性值

TurnContext

继承自DialogContext.context

dialogs

获取可以直接从此上下文调用的对话。

dialogs: DialogSet

属性值

继承自DialogContext.dialogs

parent

此对话上下文的父对话上下文;如果此上下文没有父上下文,则 undefined

parent: DialogContext | undefined

属性值

DialogContext | undefined

注解

尝试启动对话时,对话上下文在其 对话框中搜索 Dialog.id。 如果在此对话上下文中找不到要启动的对话,它会在其父对话上下文中搜索,依此类此类地搜索。

继承自DialogContext.parent

services

获取此对话上下文的上下文的服务集合。

services: TurnContextStateCollection

属性值

TurnContextStateCollection

继承自DialogContext.services

stack

获取当前对话框堆栈。

stack: DialogInstance[]

属性值

继承自DialogContext.stack

state

获取管理所有内存范围的视图的 DialogStateManager。

state: DialogStateManager

属性值

继承自DialogContext.state

方法详细信息

next(any)

跳到下一个瀑布步骤。

function next(result?: any): Promise<DialogTurnResult>

参数

result

any

(可选)结果传递给下一步。

返回

Promise<DialogTurnResult>

DialogTurnResult 的承诺。

注解

return await step.skip();

继承的方法详细信息

beginDialog(string, object)

启动对话实例并将其推送到对话堆栈。 创建对话的新实例,并将其推送到堆栈上。

function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

参数

dialogId

string

要启动的对话框的 ID。

options

object

自选。 启动时要传入对话的参数。

返回

Promise<DialogTurnResult>

解析为对话框轮次结果的承诺。

注解

如果堆栈上已有活动对话,该对话将暂停,直到它再次成为堆栈上的顶部对话。

返回对象的 状态 描述此方法完成后对话框堆栈的状态。

如果在此对话上下文或任何上级中找不到请求的对话,此方法将引发异常。

例如:

const result = await dc.beginDialog('greeting', { name: user.name });

另请参阅

继承自DialogContext.beginDialog

cancelAllDialogs(boolean, string, any)

取消对话堆栈上的所有对话,并清除堆栈。

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

参数

cancelParents

boolean

自选。 如果 true 所有父对话也将被取消。

eventName

string

自选。 取消对话时引发的自定义事件的名称。 这默认为 cancelDialog

eventValue

any

自选。 要随自定义取消事件一起传递的值。

返回

Promise<DialogTurnResult>

解析为对话框轮次结果的承诺。

注解

这会在从堆栈中删除对话之前调用每个对话框的 Dialog.endDialog 方法。

如果最初堆栈上有任何对话,则返回值的 状态取消;否则,它

本示例在启动“bookFlight”对话框之前清除对话堆栈 dc

await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');

另请参阅

继承自DialogContext.cancelAllDialogs

continueDialog()

通过将此对话上下文传递给其 Dialog.continueDialog 方法,继续执行活动对话(如果有)。

function continueDialog(): Promise<DialogTurnResult>

返回

Promise<DialogTurnResult>

解析为对话框轮次结果的承诺。

注解

调用完成后,可以检查轮次上下文的 响应 属性,以确定对话框是否向用户发送了回复。

返回对象的 状态 描述此方法完成后对话框堆栈的状态。

通常,你将从机器人的轮次处理程序中调用它。

例如:

const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
    // Send fallback message
    await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}

继承自DialogContext.continueDialog

emitEvent(string, any, boolean, boolean)

搜索具有给定 ID 的对话框。

function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>

参数

name

string

要引发的事件的名称。

value

any

自选。 要随事件一起发送的值。

bubble

boolean

自选。 用于控制事件是否应在本地处理时向其父级气泡的标志。 默认值为 true

fromLeaf

boolean

自选。 是否从叶节点发出该事件。

返回

Promise<boolean>

如果已处理事件,则 true

注解

为当前对话框或启动该对话框的人员发出命名事件进行处理。

继承自DialogContext.emitEvent

endDialog(any)

结束一个对话框,并将其从堆栈中弹出。 将可选结果返回到对话框的父级。

function endDialog(result?: any): Promise<DialogTurnResult>

参数

result

any

自选。 传递给父逻辑的结果。 这可能是堆栈上的下一个对话框,或者如果这是堆栈上的最后一个对话框、父对话上下文或机器人的轮次处理程序。

返回

Promise<DialogTurnResult>

解析为对话框轮次结果的承诺。

注解

对话框是对话堆栈上的下一个对话框(如果有)。 此方法调用父 Dialog.resumeDialog 方法,传递结束对话返回的结果。 如果没有父对话,轮次结束,结果通过返回对象的 结果 属性提供给机器人。

返回对象的 状态 描述此方法完成后对话框堆栈的状态。

通常,你将从特定对话的逻辑中调用它,以向对话上下文发出信号,该对话已完成,对话应从堆栈中删除,父对话应恢复。

例如:

return await dc.endDialog(returnValue);

另请参阅

继承自DialogContext.endDialog

findDialog(string)

搜索具有给定 ID 的对话框。

function findDialog(dialogId: string): Dialog | undefined

参数

dialogId

string

要搜索的对话框的 ID。

返回

Dialog | undefined

提供的 ID 对话框。

注解

如果在与此对话上下文关联的 DialogSet 中找不到要启动的对话,它将尝试在其父对话上下文中找到对话。

另请参阅

继承自DialogContext.findDialog

getLocale()

在 DialogContext 中获取 CultureInfo。

function getLocale(): string

返回

string

区域设置字符串。

继承自DialogContext.getLocale

prompt(string, string | Partial<Activity> | PromptOptions)

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>

参数

dialogId

string

要启动的提示对话框的 ID。

promptOrOptions

string | Partial<Activity> | PromptOptions

要发送用户的初始提示的文本、要作为初始提示发送的活动,或用于设置提示对话框格式的对象。

返回

Promise<DialogTurnResult>

注解

此帮助程序方法将对象格式化为用作 options 参数,然后调用 beginDialog 以启动指定的提示对话框。

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

继承自DialogContext.prompt

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

帮助程序函数,用于简化用于调用提示对话框的选项的格式设置。

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>

参数

dialogId

string

要启动的提示对话框的 ID。

promptOrOptions

string | Partial<Activity> | PromptOptions

要发送用户的初始提示的文本、要作为初始提示发送的 活动 或设置提示对话框格式的对象。

choices

string | Choice[]

自选。 供用户选择的选项数组,用于 ChoicePrompt

返回

Promise<DialogTurnResult>

注解

此帮助程序方法将对象格式化为用作 options 参数,然后调用 beginDialog 以启动指定的提示对话框。

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

继承自DialogContext.prompt

replaceDialog(string, object)

结束活动对话,并在其位置启动一个新对话。

function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

参数

dialogId

string

要启动的对话框的 ID。

options

object

自选。 启动时传入新对话的参数。

返回

Promise<DialogTurnResult>

解析为对话框轮次结果的承诺。

注解

这对于创建循环或重定向到另一个对话特别有用。

返回对象的 状态 描述此方法完成后对话框堆栈的状态。

此方法类似于结束当前对话并立即启动新对话。 但是,父对话既不会恢复,也不会收到通知。

另请参阅

继承自DialogContext.replaceDialog

repromptDialog()

请求活动对话框以重新提示用户输入。

function repromptDialog(): Promise<void>

返回

Promise<void>

注解

这会调用活动对话框的 repromptDialog 方法。

例如:

await dc.repromptDialog();

继承自DialogContext.repromptDialog