Dialog 类

  • java.lang.Object
    • com.microsoft.bot.dialogs.Dialog

public abstract class Dialog

所有对话的基类。

字段摘要

修饰符和类型 字段和描述
static final DialogTurnResult END_OF_TURN

一个 DialogTurnResult,指示当前对话框仍然处于活动状态,并等待用户下一轮输入。

构造函数摘要

构造函数 说明
Dialog(String dialogId)

初始化 Dialog 类的新实例。

方法摘要

修饰符和类型 方法和描述
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc)

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

abstract java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc, Object options)

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

java.util.concurrent.CompletableFuture<DialogTurnResult> continueDialog(DialogContext dc)

当对话框为 _continued_时调用,其中它是活动对话,用户使用新活动进行答复。

java.util.concurrent.CompletableFuture<java.lang.Void> endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

对话框结束时调用。

java.lang.String getId()

获取对话框的 ID。

BotTelemetryClient getTelemetryClient()

获取用于日志记录的 BotTelemetryClient

java.lang.String getVersion()

获取表示此对话框版本的唯一字符串。

protected static java.util.concurrent.CompletableFuture<DialogTurnResult> innerRun(TurnContext turnContext, String dialogId, DialogContext dialogContext, DialogStateManagerConfiguration stateConfiguration)

使用对话框和对话框管理器共享运行的实现。

protected java.lang.String onComputeId()

计算对话框的 ID。

java.util.concurrent.CompletableFuture<java.lang.Boolean> onDialogEvent(DialogContext dc, DialogEvent e)

使用“DialogContext”引发事件时调用。通过当前对话或当前对话启动的对话发出Event()”。

protected java.util.concurrent.CompletableFuture<java.lang.Boolean> onPostBubbleEvent(DialogContext dc, DialogEvent e)

在向所有家长冒泡事件后调用,但未处理。

protected java.util.concurrent.CompletableFuture<java.lang.Boolean> onPreBubbleEvent(DialogContext dc, DialogEvent e)

在将事件气泡到其父级之前调用。

java.util.concurrent.CompletableFuture<java.lang.Void> repromptDialog(TurnContext turnContext, DialogInstance instance)

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

java.util.concurrent.CompletableFuture<DialogTurnResult> resumeDialog(DialogContext dc, DialogReason reason)

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

java.util.concurrent.CompletableFuture<DialogTurnResult> resumeDialog(DialogContext dc, DialogReason reason, Object result)

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

static java.util.concurrent.CompletableFuture<java.lang.Void> run(Dialog dialog, TurnContext turnContext, StatePropertyAccessor<DialogState> accessor)

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

void setId(String withId)

设置对话框的 ID。

void setTelemetryClient(BotTelemetryClient withTelemetryClient)

设置要用于日志记录的 BotTelemetryClient

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

字段详细信息

END_OF_TURN

public static final DialogTurnResult END_OF_TURN

一个 DialogTurnResult,指示当前对话框仍然处于活动状态,并等待用户下一轮输入。

构造函数详细信息

Dialog

public Dialog(String dialogId)

初始化 Dialog 类的新实例。

参数:

dialogId - 要分配给此对话框的 ID。

方法详细信息

beginDialog

public CompletableFuture beginDialog(DialogContext dc)

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

参数:

dc - 当前对话轮次的 DialogContext

返回:

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

beginDialog

public abstract CompletableFuture beginDialog(DialogContext dc, Object options)

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

参数:

dc - 当前对话轮次的 DialogContext
options - 要传递给对话的初始信息。

返回:

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

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

当对话框为 _continued_时调用,其中它是活动对话,用户使用新活动进行答复。

如果此方法未重写,则当用户答复时,对话框会自动结束。

参数:

dc - 当前对话轮次的 DialogContext

返回:

如果任务成功,则结果指示对话在对话框处理轮次后是否仍然处于活动状态。 结果还可能包含返回值。

endDialog

public CompletableFuture endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

对话框结束时调用。

参数:

turnContext - 此轮次的上下文对象。
instance - 与对话堆栈上此对话框实例关联的状态信息。
reason - 对话框结束的原因。

返回:

表示异步作的 CompletableFuture。

getId

public String getId()

获取对话框的 ID。

返回:

对话框的 ID。

getTelemetryClient

public BotTelemetryClient getTelemetryClient()

获取用于日志记录的 BotTelemetryClient

返回:

用于日志记录的 BotTelemetryClient。

getVersion

public String getVersion()

获取表示此对话框版本的唯一字符串。 如果对话框系统之间的版本更改将发出 DialogChanged 事件。

返回:

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

innerRun

protected static CompletableFuture innerRun(TurnContext turnContext, String dialogId, DialogContext dialogContext, DialogStateManagerConfiguration stateConfiguration)

使用 Dialog 和 DialogManager 运行的共享实现。

参数:

turnContext - turnContext。
dialogId - 对话框的 ID。
dialogContext - DialogContext。
stateConfiguration - DialogStateManagerConfiguration。

返回:

DialogTurnResult。

onComputeId

protected String onComputeId()

计算对话框的 ID。

返回:

ID。

onDialogEvent

public CompletableFuture onDialogEvent(DialogContext dc, DialogEvent e)

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

参数:

dc - 当前对话轮次的对话上下文。
e - 正在引发的事件。

返回:

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

onPostBubbleEvent

protected CompletableFuture onPostBubbleEvent(DialogContext dc, DialogEvent e)

在向所有家长冒泡事件后调用,但未处理。

这是为事件执行默认处理逻辑的好位置。 返回“true”将阻止子对话对事件的任何处理。

参数:

dc - 当前对话轮次的对话上下文。
e - 正在引发的事件。

返回:

事件是否由当前对话框处理,并且应停止进一步处理。

onPreBubbleEvent

protected CompletableFuture onPreBubbleEvent(DialogContext dc, DialogEvent e)

在将事件气泡到其父级之前调用。

这是执行事件截获的好位置,因为返回“true”将阻止事件进一步浮升到对话父级,并且还会阻止任何子对话执行其默认处理。

参数:

dc - 当前对话轮次的对话上下文。
e - 正在引发的事件。

返回:

事件是否由当前对话框处理,并且应停止进一步处理。

repromptDialog

public CompletableFuture repromptDialog(TurnContext turnContext, DialogInstance instance)

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

参数:

turnContext - 此轮次的上下文对象。
instance - 此对话框的状态信息。

返回:

表示异步作的 CompletableFuture。

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason)

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

通常,子对话是通过调用 beginDialog(DialogContext dc, Object options) 启动的,但是,如果调用 replaceDialog(String dialogId) 方法,则逻辑子对话可能与原始对话不同。

如果此方法未重写,则当用户答复时,对话框会自动结束。

参数:

dc - 对话的当前轮次的对话上下文。
reason - 对话恢复的原因。

返回:

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

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason, Object result)

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

通常,子对话是通过调用 beginDialog(DialogContext dc, Object options) 启动的,但是,如果调用 replaceDialog(String dialogId, Object options) 方法,则逻辑子对话可能与原始对话不同。

如果此方法未重写,则当用户答复时,对话框会自动结束。

参数:

dc - 对话的当前轮次的对话上下文。
reason - 对话恢复的原因。
result - 可选,从调用的对话框返回的值。 返回的值的类型取决于子对话。

返回:

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

run

public static CompletableFuture run(Dialog dialog, TurnContext turnContext, StatePropertyAccessor accessor)

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

参数:

dialog - 要启动的对话。
turnContext - 会话当前轮次的上下文。
accessor - 用于管理对话堆栈状态的 StatePropertyAccessor 访问器。

返回:

表示异步作的任务。

setId

public void setId(String withId)

设置对话框的 ID。

参数:

withId - 对话框的 ID。

setTelemetryClient

public void setTelemetryClient(BotTelemetryClient withTelemetryClient)

设置要用于日志记录的 BotTelemetryClient

参数:

withTelemetryClient - 用于日志记录的 BotTelemetryClient。

适用于