Prompt<T> 类

类型参数

T

键入要为其创建的提示。

public abstract class Prompt
extends Dialog

定义提示对话的核心行为。 提示结束时,它应返回一个对象,该对象表示提示的值。 使用 add(Dialog dialog)addDialog(Dialog dialog) 分别向对话框集或组件对话添加提示。 使用 prompt(String dialogId, PromptOptions options)beginDialog(String dialogId, Object options) 启动提示。 如果在 WaterfallDialog中从 WaterfallStep 启动提示,则瀑布的下一步中将提供提示结果。

字段摘要

修饰符和类型 字段和描述
static final java.lang.String ATTEMPTCOUNTKEY

构造函数摘要

构造函数 说明
Prompt(String dialogId, PromptValidator<T> validator)

初始化 {@link Prompt{T}} 类的新实例。

方法摘要

修饰符和类型 方法和描述
protected Activity appendChoices(Activity prompt, String channelId, List<Choice> choices, ListStyle style, ChoiceFactoryOptions options)

在派生类中重写时,在系统提示用户输入时,将选项追加到活动。

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

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

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

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

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

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

protected abstract java.util.concurrent.CompletableFuture<java.lang.Void> onPrompt(TurnContext turnContext, Map<String,Object> state, PromptOptions options, Boolean isRetry)

在派生类中重写时,提示用户输入。

protected abstract java.util.concurrent.CompletableFuture<PromptRecognizerResult<T>> onRecognize(TurnContext turnContext, Map<String,Object> state, PromptOptions options)

在派生类中重写时,尝试识别用户的输入。

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

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

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

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

方法继承自 Dialog

方法继承自 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

字段详细信息

ATTEMPTCOUNTKEY

public static final String ATTEMPTCOUNTKEY

构造函数详细信息

Prompt

public Prompt(String dialogId, PromptValidator validator)

初始化 {@link Prompt{T}} 类的新实例。 从派生类中的构造函数调用以初始化 {@link Prompt{T}} 类。

参数:

dialogId - 要分配给此提示的 ID。
validator - 可选,包含此提示的其他自定义验证的 {@link PromptValidator{T}}。
              The value of dialogId must be unique within the
              <xref uid="com.microsoft.bot.dialogs.DialogSet" data-throw-if-not-resolved="false" data-raw-source="com.microsoft.bot.dialogs.DialogSet"></xref> or
              <xref uid="com.microsoft.bot.dialogs.ComponentDialog" data-throw-if-not-resolved="false" data-raw-source="com.microsoft.bot.dialogs.ComponentDialog"></xref> to which
              the prompt is added.

方法详细信息

appendChoices

protected Activity appendChoices(Activity prompt, String channelId, List choices, ListStyle style, ChoiceFactoryOptions options)

在派生类中重写时,在系统提示用户输入时,将选项追加到活动。

参数:

prompt - 要向其追加选项的活动。
channelId - 用户的通道的 ID。
choices - 要追加的选项。
style - 指示应如何向用户显示选项。
options - 显示选项时要使用的格式设置选项。

返回:

表示异步作的 CompletableFuture
     If the task is successful, the result contains the updated activity.

beginDialog

public CompletableFuture beginDialog(DialogContext dc, Object options)

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

替代:

Prompt<T>.beginDialog(DialogContext dc, Object options)

参数:

dc - 对话的当前轮次的对话上下文。
options - 可选,用于传递给正在启动的提示的其他信息。

返回:

表示异步作的 CompletableFuture
     If the task is successful, the result indicates whether the prompt is
     still active after the turn has been processed by the prompt.

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

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

替代:

Prompt<T>.continueDialog(DialogContext dc)

参数:

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

返回:

表示异步作的 CompletableFuture
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog. The
     prompt generally continues to receive the user's replies until it
     accepts the user's reply as valid input for the prompt.

onPreBubbleEvent

protected CompletableFuture onPreBubbleEvent(DialogContext dc, DialogEvent e)

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

替代:

Prompt<T>.onPreBubbleEvent(DialogContext dc, DialogEvent e)

参数:

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

返回:

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

onPrompt

protected abstract CompletableFuture onPrompt(TurnContext turnContext, Map state, PromptOptions options, Boolean isRetry)

在派生类中重写时,提示用户输入。

参数:

turnContext - 与用户的当前会话轮次的上下文。
state - 包含对话框堆栈上提示的当前实例的状态。
options - 从最初在调用 prompt(String dialogId, PromptOptions options) 中提供的选项构造的提示选项对象。
isRetry - 如果这是此提示对话框实例首次在堆栈上提示用户输入,则为 true;否则为 false。 确定是否应使用 getPrompt()getRetryPrompt()

返回:

表示异步作的 CompletableFuture

onRecognize

protected abstract CompletableFuture> onRecognize(TurnContext turnContext, Map state, PromptOptions options)

在派生类中重写时,尝试识别用户的输入。

参数:

turnContext - 与用户的当前会话轮次的上下文。
state - 包含对话框堆栈上提示的当前实例的状态。
options - 从最初在调用 prompt(String dialogId, PromptOptions options) 中提供的选项构造的提示选项对象。

返回:

表示异步作的 CompletableFuture
     If the task is successful, the result describes the result of the
     recognition attempt.

repromptDialog

public CompletableFuture repromptDialog(TurnContext turnContext, DialogInstance instance)

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

替代:

Prompt<T>.repromptDialog(TurnContext turnContext, DialogInstance instance)

参数:

turnContext - 与用户的当前会话轮次的上下文。
instance - 堆栈上对话框的实例。

返回:

表示异步作的 CompletableFuture

resumeDialog

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

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

替代:

Prompt<T>.resumeDialog(DialogContext dc, DialogReason reason, Object result)

参数:

dc - 对话的当前轮次的对话上下文。
reason - 一个枚举,指示对话恢复的原因。
result - 可选,从堆栈上上一个对话框返回的值。 返回的值的类型取决于上一个对话框。

返回:

表示异步作的 CompletableFuture
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog.

适用于