Prompt<T> 類別

類型參數

T

輸入已建立的提示。

public abstract class Prompt
extends Dialog

定義提示對話框的核心行為。 當提示結束時,它應該會傳回 Object,代表提示的值。 使用 add(Dialog dialog)addDialog(Dialog dialog),分別將提示新增至對話框集或元件對話方塊。 使用 prompt(String dialogId, PromptOptions options)beginDialog(String dialogId, Object options) 啟動提示。 如果您從 WaterfallDialog中的 WaterfallStep 啟動提示,則瀑布的下一個步驟中將會提供提示結果。

欄位摘要

修飾詞與類型 欄位與描述
static final java.lang.String ATTEMPTCOUNTKEY

建構函式摘要

建構函式 Description
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 - 要指派給這個提示的標識碼。
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 - 使用者通道的識別碼。
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.

適用於