ChoicePrompt class

提示用户从选项列表中选择。

扩展

注解

默认情况下,提示符将返回到调用对话框,一个包含所选选项的 FoundChoice 对象。

构造函数

ChoicePrompt(string, PromptValidator<FoundChoice>, string, ChoiceDefaultsChoicePrompt)

创建新的 ChoicePrompt 实例。

属性

choiceOptions

传递给 ChoiceFactory 并用于调整向用户呈现的选项样式的其他选项。

defaultLocale

应识别的提示默认区域设置。

id

对话框的唯一 ID。 设置对话框的唯一 ID。

recognizerOptions

传递给基础 recognizeChoices() 函数的其他选项。

style

提示时向用户呈现的“是”和“否”选项的样式。

telemetryClient

获取此对话框的遥测客户端。 设置此对话框的遥测客户端。

继承属性

EndOfTurn

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

继承的方法

beginDialog(DialogContext, PromptOptions)

当将提示对话推送到对话堆栈并正在激活时调用。

configure(Record<string, unknown>)

用于配置对象的 Fluent 方法。

continueDialog(DialogContext)

当提示对话框是活动对话框,用户用新活动答复时调用。

endDialog(TurnContext, DialogInstance, DialogReason)

在派生类中重写时,在对话结束之前执行清理。

getConverter(string)
getVersion()

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

onDialogEvent(DialogContext, DialogEvent)

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

repromptDialog(TurnContext, DialogInstance)

当请求提示对话框重新提示用户输入时调用。

resumeDialog(DialogContext, DialogReason, any)

当提示对话框恢复为对话堆栈上的活动对话时调用,例如堆栈上以前的活动对话完成时。

构造函数详细信息

ChoicePrompt(string, PromptValidator<FoundChoice>, string, ChoiceDefaultsChoicePrompt)

创建新的 ChoicePrompt 实例。

new ChoicePrompt(dialogId: string, validator?: PromptValidator<FoundChoice>, defaultLocale?: string, choiceDefaults?: ChoiceDefaultsChoicePrompt)

参数

dialogId

string

对话框的父 DialogSet中的唯一 ID。

validator

PromptValidator<FoundChoice>

(可选)验证程序,每次用户响应提示时都会调用。 如果验证程序回复消息,则不会发送其他重试提示。

defaultLocale

string

(可选)如果未指定 dc.context.activity.locale,则使用的区域设置。 默认值为 en-us

choiceDefaults
ChoiceDefaultsChoicePrompt

(可选)替代 Bot Framework SDK 支持的_choiceDefaults字典(用于提示本地化)。 必须传入需要自定义选择默认值的每个 ConfirmPrompt。

属性详细信息

choiceOptions

传递给 ChoiceFactory 并用于调整向用户呈现的选项样式的其他选项。

choiceOptions: ChoiceFactoryOptions | undefined

属性值

ChoiceFactoryOptions | undefined

defaultLocale

应识别的提示默认区域设置。

defaultLocale: string | undefined

属性值

string | undefined

id

对话框的唯一 ID。 设置对话框的唯一 ID。

string id

属性值

string

对话框的 ID。

注解

如果未指定,则会自动生成此代码。

recognizerOptions

传递给基础 recognizeChoices() 函数的其他选项。

recognizerOptions: FindChoicesOptions | undefined

属性值

FindChoicesOptions | undefined

style

提示时向用户呈现的“是”和“否”选项的样式。

style: ListStyle

属性值

注解

默认为 ListStyle.auto

telemetryClient

获取此对话框的遥测客户端。 设置此对话框的遥测客户端。

BotTelemetryClient telemetryClient

属性值

BotTelemetryClient

要用于日志记录的 BotTelemetryClient

继承属性详细信息

EndOfTurn

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

static EndOfTurn: DialogTurnResult

属性值

注解

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

继承自Dialog.EndOfTurn

继承的方法详细信息

beginDialog(DialogContext, PromptOptions)

当将提示对话推送到对话堆栈并正在激活时调用。

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

参数

dc
DialogContext

对话当前轮次的 DialogContext

options
PromptOptions

自选。 PromptOptions,用于传递给正在启动的提示的其他信息。

返回

Promise<DialogTurnResult>

表示异步操作的 Promise

注解

如果任务成功,则结果指示提示在提示处理轮次后是否仍然处于活动状态。

继承自Prompt.beginDialog

configure(Record<string, unknown>)

用于配置对象的 Fluent 方法。

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

参数

config

Record<string, unknown>

要应用的配置设置。

返回

this

操作完成后 可配置

继承自Configure.configure

continueDialog(DialogContext)

当提示对话框是活动对话框,用户用新活动答复时调用。

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

参数

dc
DialogContext

当前会话轮次的 DialogContext

返回

Promise<DialogTurnResult>

表示异步操作的 Promise

注解

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。 提示通常继续接收用户的答复,直到接受用户的回复作为提示的有效输入。

继承自Prompt.continueDialog

endDialog(TurnContext, DialogInstance, DialogReason)

在派生类中重写时,在对话结束之前执行清理。

function endDialog(_context: TurnContext, _instance: DialogInstance, _reason: DialogReason): Promise<void>

参数

_context

TurnContext

轮次的上下文对象。

_instance
DialogInstance

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

_reason
DialogReason

对话结束的原因。

返回

Promise<void>

注解

在结束之前需要执行日志记录或清理的派生对话应重写此方法。 默认情况下,此方法不起作用。

当当前对话结束时,DialogContext 调用此方法。

另请参阅

继承自Dialog.endDialog

getConverter(string)

function getConverter(_property: string): Converter | ConverterFactory

参数

_property

string

条件选择器配置的键。

返回

选择器配置的转换器。

继承自Configurable.getConverter

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>

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

继承自Dialog.onDialogEvent

repromptDialog(TurnContext, DialogInstance)

当请求提示对话框重新提示用户输入时调用。

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

参数

context

TurnContext

(xref:botbuilder-core。TurnContext),与用户的当前对话轮次的上下文。

instance
DialogInstance

(xref:botbuilder-dialogs.DialogInstance,堆栈上对话框的实例。

返回

Promise<void>

表示异步操作的 Promise

继承自prompt.repromptDialog

resumeDialog(DialogContext, DialogReason, any)

当提示对话框恢复为对话堆栈上的活动对话时调用,例如堆栈上以前的活动对话完成时。

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

参数

dc
DialogContext

对话的当前轮次的 DialogContext。

_reason
DialogReason

一个枚举,指示对话恢复的原因。

_result

any

可选,从堆栈上上一个对话框返回的值。 返回的值的类型取决于上一个对话框。

返回

Promise<DialogTurnResult>

表示异步操作的 Promise。

注解

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。

继承自Prompt.resumeDialog