Dialog class
定义所有对话的核心行为。
- 扩展
构造函数
Dialog(string) | 创建 Dialog 类的新实例。 |
属性
End |
获取默认的轮次结束结果。 |
id | 对话框的唯一 ID。 设置对话框的唯一 ID。 |
telemetry |
获取此对话框的遥测客户端。 设置此对话框的遥测客户端。 |
方法
begin |
在派生类中重写时,启动对话。 |
continue |
在派生类中重写时,继续对话。 |
end |
在派生类中重写时,在对话结束之前执行清理。 |
get |
用于帮助在重新部署时检测机器人更改的编码字符串。 |
on |
通过使用当前对话或当前对话启动的对话,使用 |
reprompt |
在派生类中重写时,将用户重新分配输入。 |
resume |
在派生类中重写时,在堆栈上对话完成后恢复对话。 |
继承的方法
configure(Record<string, unknown>) | 用于配置对象的 Fluent 方法。 |
get |
构造函数详细信息
Dialog(string)
属性详细信息
EndOfTurn
获取默认的轮次结束结果。
static EndOfTurn: DialogTurnResult
属性值
注解
此结果指示对话(或对话中的逻辑步骤)已完成当前轮次的处理,仍然处于活动状态,并且正在等待更多输入。
id
对话框的唯一 ID。 设置对话框的唯一 ID。
string id
属性值
string
对话框的 ID。
注解
如果未指定,则会自动生成此代码。
telemetryClient
获取此对话框的遥测客户端。 设置此对话框的遥测客户端。
BotTelemetryClient telemetryClient
属性值
BotTelemetryClient
要用于日志记录的 BotTelemetryClient。
方法详细信息
beginDialog(DialogContext, O)
在派生类中重写时,启动对话。
function beginDialog(dc: DialogContext, options?: O): Promise<DialogTurnResult>
参数
当前对话框轮次的上下文。
- options
-
O
自选。 对话框启动时要使用的参数。
返回
Promise<DialogTurnResult>
注解
派生对话必须重写此方法。
DialogContext 在此对话创建新的 DialogInstance 时调用此方法,将其推送到对话堆栈,然后启动对话。
表示单轮对话的对话应在退出此方法之前等待 DialogContext.endDialog。
另请参阅
continueDialog(DialogContext)
在派生类中重写时,继续对话。
function continueDialog(dc: DialogContext): Promise<DialogTurnResult>
参数
当前对话框轮次的上下文。
返回
Promise<DialogTurnResult>
解析为对话框轮次结果的承诺。
注解
支持多轮对话的派生对话应重写此方法。 默认情况下,此方法指示对话框已完成并返回。
DialogContext 在继续对话时调用此方法。
若要向对话上下文发出信号,表明此对话已完成,请等待 DialogContext.endDialog 退出此方法。
另请参阅
endDialog(TurnContext, DialogInstance, DialogReason)
在派生类中重写时,在对话结束之前执行清理。
function endDialog(_context: TurnContext, _instance: DialogInstance, _reason: DialogReason): Promise<void>
参数
- _context
-
TurnContext
轮次的上下文对象。
- _instance
- DialogInstance
此对话框的当前状态信息。
- _reason
- DialogReason
对话结束的原因。
返回
Promise<void>
注解
在结束之前需要执行日志记录或清理的派生对话应重写此方法。 默认情况下,此方法不起作用。
当当前对话结束时,DialogContext 调用此方法。
另请参阅
getVersion()
用于帮助在重新部署时检测机器人更改的编码字符串。
function getVersion(): string
返回
string
唯一字符串,仅当对话发生更改时,才应以重启对话框的方式更改。
注解
这默认返回对话 ID,但可以重写以提供更精确的更改检测逻辑。 堆栈上具有其版本更改的任何对话框都将导致引发 versionChanged
事件。 如果机器人未处理此事件,将引发错误,从而导致运行机器人错误处理程序逻辑。
返回空字符串将一起禁用组件的版本跟踪。
onDialogEvent(DialogContext, DialogEvent)
通过使用当前对话或当前对话启动的对话,使用 DialogContext.emitEvent()
引发事件时调用。
function onDialogEvent(dc: DialogContext, e: DialogEvent): Promise<boolean>
参数
当前对话轮次的对话上下文。
正在引发的事件。
返回
Promise<boolean>
如此 如果事件由当前对话框处理,并且冒泡应停止。
repromptDialog(TurnContext, DialogInstance)
在派生类中重写时,将用户重新分配输入。
function repromptDialog(_context: TurnContext, _instance: DialogInstance): Promise<void>
参数
- _context
-
TurnContext
轮次的上下文对象。
- _instance
- DialogInstance
此对话框的当前状态信息。
返回
Promise<void>
注解
支持验证和重新提示逻辑的派生对话应重写此方法。 默认情况下,此方法不起作用。
DialogContext 在当前对话应从用户重新请求输入时调用此方法。 此方法是针对提示对话实现的。
另请参阅
resumeDialog(DialogContext, DialogReason, any)
在派生类中重写时,在堆栈上对话完成后恢复对话。
function resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise<DialogTurnResult>
参数
当前对话框轮次的上下文。
- reason
- DialogReason
对话恢复的原因。 这通常 DialogReason.endCalled
- result
-
any
自选。 结束的对话框中的返回值(如果有)。
返回
Promise<DialogTurnResult>
解析为对话框轮次结果的承诺。
注解
支持多轮对话的派生对话应重写此方法。 默认情况下,此方法指示对话框已完成并返回。
DialogContext 恢复对话时调用此方法。 如果堆栈上的上一个对话框返回了一个值,则该值位于 result
参数中。
若要启动 子 对话,请使用 DialogContext.beginDialog 或 DialogContext.prompt;但是,此对话不一定是启动子对话的对话框。 若要向对话上下文发出信号,表明此对话已完成,请等待 DialogContext.endDialog 退出此方法。
另请参阅
继承的方法详细信息
configure(Record<string, unknown>)
用于配置对象的 Fluent 方法。
function configure(config: Record<string, unknown>): this
参数
- config
-
Record<string, unknown>
要应用的配置设置。
返回
this
操作完成后 可配置。
getConverter(string)
function getConverter(_property: string): Converter | ConverterFactory
参数
- _property
-
string
条件选择器配置的键。
返回
选择器配置的转换器。