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)

在引发事件时调用,使用对话框上下文。发出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 类的新实例。

Parameters:

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

方法详细信息

beginDialog

public CompletableFuture beginDialog(DialogContext dc)

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

Parameters:

dc - DialogContext当前轮次会话的 。

Returns:

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

beginDialog

public abstract CompletableFuture beginDialog(DialogContext dc, Object options)

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

Parameters:

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

Returns:

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

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

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

如果此方法被 *not* 重写,则对话框在用户答复时自动结束。

Parameters:

dc - DialogContext当前轮次会话的 。

Returns:

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

endDialog

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

在对话结束时调用。

Parameters:

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

Returns:

表示异步操作的 CompletableFuture。

getId

public String getId()

获取对话框的 ID。

Returns:

对话框的 ID。

getTelemetryClient

public BotTelemetryClient getTelemetryClient()

获取 BotTelemetryClient 用于日志记录的 。

Returns:

用于日志记录的 BotTelemetryClient。

getVersion

public String getVersion()

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

Returns:

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

innerRun

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

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

Parameters:

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

Returns:

DialogTurnResult。

onComputeId

protected String onComputeId()

计算对话框的 ID。

Returns:

ID。

onDialogEvent

public CompletableFuture onDialogEvent(DialogContext dc, DialogEvent e)

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

Parameters:

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

Returns:

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

onPostBubbleEvent

protected CompletableFuture onPostBubbleEvent(DialogContext dc, DialogEvent e)

在事件浮升到所有父级且未处理之后调用。

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

Parameters:

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

Returns:

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

onPreBubbleEvent

protected CompletableFuture onPreBubbleEvent(DialogContext dc, DialogEvent e)

在事件浮升到其父级之前调用。

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

Parameters:

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

Returns:

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

repromptDialog

public CompletableFuture repromptDialog(TurnContext turnContext, DialogInstance instance)

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

Parameters:

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

Returns:

表示异步操作的 CompletableFuture。

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason)

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

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

如果此方法被 *not* 重写,则对话框在用户答复时自动结束。

Parameters:

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

Returns:

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

resumeDialog

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

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

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

如果此方法被 *not* 重写,则对话框在用户答复时自动结束。

Parameters:

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

Returns:

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

run

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

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

Parameters:

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

Returns:

表示异步操作的任务。

setId

public void setId(String withId)

设置对话框的 ID。

Parameters:

withId - 对话框的 ID。

setTelemetryClient

public void setTelemetryClient(BotTelemetryClient withTelemetryClient)

BotTelemetryClient设置用于日志记录的 。

Parameters:

withTelemetryClient - 用于日志记录的 BotTelemetryClient。

适用于