AdaptiveDialog class

自适应对话使用事件和事件对聊天进行建模,以动态适应不断变化的聊天流。

扩展

DialogContainer<O>

构造函数

AdaptiveDialog(string)

创建新的 AdaptiveDialog 实例。

属性

$kind
autoEndDialog

如果没有要执行的操作,是否要结束对话。

conditionTracker
defaultResultProperty

当没有更多操作和 AutoEndDialog = true时对话框结束时,要作为结果返回的属性。

generator

自选。 语言生成器重写。

recognizer

自选。 用于分析任何消息话语的识别器。

schema

设置对话框的 JSON 架构。 获取对话框的 JSON 架构。

selector

自选。 选择要执行的事件的选择器。

triggers

触发处理程序以响应修改执行计划的条件。

继承属性

dialogs

容器对话框集。

EndOfTurn

获取默认的轮次结束结果。

id
telemetryClient

方法

beginDialog(DialogContext, O)

启动对话并将其推送到对话堆栈时调用。

continueDialog(DialogContext)

当对话框 继续时调用,该对话是活动对话,用户使用新活动进行答复。

createChildContext(DialogContext)

为给定上下文创建子 DialogContext

endDialog(TurnContext, DialogInstance, DialogReason)

对话框结束时调用。

getConverter(Object)
getDependencies()

获取 对话框 枚举依赖项。

repromptDialog(DialogContext | TurnContext, DialogInstance)

重新提示用户。

resumeDialog(DialogContext, DialogReason, any)

当子对话完成轮次时调用,将控件返回到此对话。

继承的方法

configure(Record<string, unknown>)

用于配置对象的 Fluent 方法。

findDialog(string)

查找以前添加到容器中的子对话。

getVersion()

用于帮助在重新部署时检测机器人更改的编码字符串。

onDialogEvent(DialogContext, DialogEvent)

通过使用当前对话或当前对话启动的对话,使用 DialogContext.emitEvent()引发事件时调用。

构造函数详细信息

AdaptiveDialog(string)

创建新的 AdaptiveDialog 实例。

new AdaptiveDialog(dialogId?: string)

参数

dialogId

string

(可选) 组件在其父对话集中的唯一 ID。

属性详细信息

$kind

static $kind: string

属性值

string

autoEndDialog

如果没有要执行的操作,是否要结束对话。

autoEndDialog: BoolExpression

属性值

BoolExpression

注解

如果为 true,则当没有要执行的操作时,当前对话框将结束。 如果为 false,如果没有要执行的操作,则当前对话框将直接结束轮次,并且仍然处于活动状态。 默认值为 true。

conditionTracker

static conditionTracker: string

属性值

string

defaultResultProperty

当没有更多操作和 AutoEndDialog = true时对话框结束时,要作为结果返回的属性。

defaultResultProperty: string

属性值

string

注解

默认值为 dialog.result

generator

自选。 语言生成器重写。

generator?: LanguageGenerator

属性值

recognizer

自选。 用于分析任何消息话语的识别器。

recognizer?: Recognizer

属性值

Recognizer

schema

设置对话框的 JSON 架构。 获取对话框的 JSON 架构。

object schema

属性值

object

对话框架构。

selector

自选。 选择要执行的事件的选择器。

selector: TriggerSelector

属性值

triggers

触发处理程序以响应修改执行计划的条件。

triggers: OnCondition[]

属性值

继承属性详细信息

dialogs

容器对话框集。

dialogs: DialogSet

属性值

DialogSet

继承自 DialogContainer.dialogs

EndOfTurn

获取默认的轮次结束结果。

static EndOfTurn: DialogTurnResult

属性值

DialogTurnResult

注解

此结果指示对话(或对话中的逻辑步骤)已完成当前轮次的处理,仍然处于活动状态,并且正在等待更多输入。

继承自 Dialog.EndOfTurn

id

id: string

属性值

string

继承自 Dialog.id 的

telemetryClient

telemetryClient: BotTelemetryClient

属性值

BotTelemetryClient

继承自 DialogContainer.telemetryClient

方法详细信息

beginDialog(DialogContext, O)

启动对话并将其推送到对话堆栈时调用。

function beginDialog(dc: DialogContext, options?: O): Promise<DialogTurnResult>

参数

dc

DialogContext

当前会话轮次的 DialogContext

options

O

可选,要传递给对话框的初始信息。

返回

Promise<DialogTurnResult>

表示异步操作的 Promise。

continueDialog(DialogContext)

当对话框 继续时调用,该对话是活动对话,用户使用新活动进行答复。

function continueDialog(dc: DialogContext): Promise<DialogTurnResult>

参数

dc

DialogContext

当前会话轮次的 DialogContext

返回

Promise<DialogTurnResult>

表示异步操作的 Promise。

createChildContext(DialogContext)

为给定上下文创建子 DialogContext

function createChildContext(dc: DialogContext): DialogContext

参数

dc

DialogContext

当前会话轮次的 DialogContext

返回

DialogContext

如果没有为给定上下文找到 adaptiveDialogState.actions ,则子 DialogContext 或 null。

endDialog(TurnContext, DialogInstance, DialogReason)

对话框结束时调用。

function endDialog(turnContext: TurnContext, instance: DialogInstance, reason: DialogReason): Promise<void>

参数

turnContext

TurnContext

此轮次的上下文对象。

instance

DialogInstance

与对话堆栈上此对话框实例关联的状态信息。

reason

DialogReason

对话框结束的原因。

返回

Promise<void>

表示异步操作的 Promise。

getConverter(Object)

function getConverter(property: Object): Converter | ConverterFactory

参数

property

Object

条件选择器配置的键。

返回

Converter | ConverterFactory

选择器配置的转换器。

getDependencies()

获取 对话框 枚举依赖项。

function getDependencies(): Dialog[]

返回

Dialog[]

(xref:botbuilder-dialogs.Dialog)的枚举依赖项。

repromptDialog(DialogContext | TurnContext, DialogInstance)

重新提示用户。

function repromptDialog(context: DialogContext | TurnContext, instance: DialogInstance): Promise<void>

参数

context

DialogContext | TurnContext

轮次的上下文对象。

instance

DialogInstance

此对话框的当前状态信息。

返回

Promise<void>

表示异步操作的 Promise。

resumeDialog(DialogContext, DialogReason, any)

当子对话完成轮次时调用,将控件返回到此对话。

function resumeDialog(dc: DialogContext, _reason?: DialogReason, _result?: any): Promise<DialogTurnResult>

参数

dc

DialogContext

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

_reason

DialogReason

对话恢复的原因。

_result

any

可选,从调用的对话框返回的值。 返回的值的类型取决于子对话。

返回

Promise<DialogTurnResult>

表示异步操作的 Promise。

继承的方法详细信息

configure(Record<string, unknown>)

用于配置对象的 Fluent 方法。

function configure(config: Record<string, unknown>): this

参数

config

Record<string, unknown>

要应用的配置设置。

返回

this

操作完成后 可配置

继承自 Configure.configure

findDialog(string)

查找以前添加到容器中的子对话。

function findDialog(dialogId: string): Dialog | undefined

参数

dialogId

string

要查找的对话框的 ID。

返回

Dialog | undefined

如果找到对话框,则为对话框;否则为 null。

继承自 DialogContainer.findDialog

getVersion()

用于帮助在重新部署时检测机器人更改的编码字符串。

function getVersion(): string

返回

string

唯一字符串,仅当对话发生更改时,才应以重启对话框的方式更改。

注解

这默认返回对话 ID,但可以重写以提供更精确的更改检测逻辑。 堆栈上具有其版本更改的任何对话框都将导致引发 versionChanged 事件。 如果机器人未处理此事件,将引发错误,从而导致运行机器人错误处理程序逻辑。

返回空字符串将一起禁用组件的版本跟踪。

继承自 Dialog.getVersion

onDialogEvent(DialogContext, DialogEvent)

通过使用当前对话或当前对话启动的对话,使用 DialogContext.emitEvent()引发事件时调用。

function onDialogEvent(dc: DialogContext, e: DialogEvent): Promise<boolean>

参数

dc

DialogContext

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

e

DialogEvent

正在引发的事件。

返回

Promise<boolean>

如此 如果事件由当前对话框处理,并且冒泡应停止。

继承自 DialogContainer.onDialogEvent