DialogContext 類別

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

public class DialogContext

提供對話框堆疊目前狀態的內容。

建構函式摘要

建構函式 Description
DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

從回合內容初始化 DialogContext 類別的新實例。

DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

從回合內容初始化 DialogContext 類別的新實例。

方法摘要

修飾詞與類型 方法與描述
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId)

啟動新的對話框,並將其推送至對話堆疊。

java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId, Object options)

啟動新的對話框,並將其推送至對話堆疊。

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs()

不會取消父對話或傳遞 和事件的 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 協助程式方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

刪除任何現有的對話堆疊,因此會取消堆疊上的所有對話方塊。

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

如果有的話,繼續執行使用中的對話框,方法是將目前的 DialogContext 傳遞至使用中對話的 continueDialog(DialogContext dc) 方法。

java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name)
java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)
java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog()

提供 null 結果給 endDialog(Object result)的協助程式方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog(Object result)

結束對話的方式是將對話框從堆疊中彈出,並將選擇性結果傳回給對話框的父代。

Dialog findDialog(String dialogId)

尋找指定內容的對話框識別碼。

DialogInstance getActiveDialog()

取得堆疊頂端作用中對話框的快取實例,如果堆疊是空的,則為 Null。

DialogContext getChild()

如果有作用中的子系,則取得子系的對話內容。

TurnContext getContext()

取得目前交談回合的內容。

DialogSet getDialogs()

取得目前對話容器作用中的對話框集合。

java.lang.String getLocale()

取得 DialogContext 中的地區設定。

DialogContext getParent()

取得內容父對話方塊,如果有的話。

TurnContextStateCollection getServices()

取得與這個對話內容相關的服務集合。

java.util.List<DialogInstance> getStack()

取得目前的對話框堆疊。

DialogStateManager getState()

取得或設定管理所有記憶體範圍檢視的 DialogStateManager。

java.util.concurrent.CompletableFuture<DialogTurnResult> prompt(String dialogId, PromptOptions options)

協助程式函式可簡化呼叫提示對話框之選項的格式設定。

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId)

傳遞選項之 replaceDialog(String dialogId, Object options) 的 Helper 方法。

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId, Object options)

啟動新的對話框,並以新的對話框取代目前使用中的對話框堆棧。

java.util.concurrent.CompletableFuture<java.lang.Void> repromptDialog()

呼叫目前使用中對話框的 repromptDialog(TurnContext turnContext, DialogInstance instance) 方法。

void setParent(DialogContext withDialogContext)

設定內容父對話方塊。

方法繼承來源 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

建構函式詳細資料

DialogContext

public DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

從回合內容初始化 DialogContext 類別的新實例。

參數:

withDialogs - 用來建立對話內容的對話框集。
withTurnContext - 目前的回合內容。
withState - 要從中擷取對話內容的狀態屬性。

DialogContext

public DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

從回合內容初始化 DialogContext 類別的新實例。

參數:

withDialogs - 用來建立對話內容的對話框集。
withParentDialogContext - 父對話內容。
withState - 目前的對話框狀態。

方法詳細資料

beginDialog

public CompletableFuture beginDialog(String dialogId)

啟動新的對話框,並將其推送至對話堆疊。

參數:

dialogId - 要啟動之對話框的識別碼。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

beginDialog

public CompletableFuture beginDialog(String dialogId, Object options)

啟動新的對話框,並將其推送至對話堆疊。

參數:

dialogId - 要啟動之對話框的識別碼。
options - 選擇性的資訊,要傳遞至正在啟動的對話框。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

cancelAllDialogs

public CompletableFuture cancelAllDialogs()

不會取消父對話或傳遞 和事件的 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 協助程式方法。

傳回:

如果工作成功,結果表示對話在回合處理后已取消對話,或堆疊已是空的。

cancelAllDialogs

public CompletableFuture cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

刪除任何現有的對話堆疊,因此會取消堆疊上的所有對話方塊。

一般而言,父內容是啟動對話框的對話框或 Bot 回合處理程式。 如果父代是對話框,堆疊會呼叫父系的 resumeDialog(DialogContext dc, DialogReason reason, Object result) 方法,將結果傳回父對話。 如果父對話框未實作 Dialog#resumeDialog,則父代也會結束,並將結果傳遞至下一個父內容。

參數:

cancelParents - 如果為 true,取消也會透過任何父對話框反升。
eventName - 事件。 如果為 null,則會使用 CANCEL_DIALOG
eventValue - 事件值。 可以是 null。

傳回:

如果工作成功,結果表示對話在回合處理后已取消對話,或堆疊已是空的。

continueDialog

public CompletableFuture continueDialog()

如果有的話,繼續執行使用中的對話框,方法是將目前的 DialogContext 傳遞至使用中對話的 continueDialog(DialogContext dc) 方法。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

emitEvent

public CompletableFuture emitEvent(String name)

參數:

name - 要引發的事件名稱。

傳回:

emitEvent

emitEvent

public CompletableFuture emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)

參數:

name - 要引發的事件名稱。
value - 要隨事件一起傳送的值。
bubble - 旗標,以控制事件是否應該在本機處理時反升至其父系。 預設為 true的值。
fromLeaf - 事件是否從分葉節點發出。

傳回:

completedFuture

endDialog

public CompletableFuture endDialog()

提供 null 結果給 endDialog(Object result)的協助程式方法。

傳回:

如果工作成功,結果表示對話在回合處理后結束。

endDialog

public CompletableFuture endDialog(Object result)

結束對話的方式是將對話框從堆疊中彈出,並將選擇性結果傳回給對話框的父代。 父對話是透過呼叫 beginDialog(String dialogId, Object options)prompt(String dialogId, PromptOptions options)結束的 對話框。 父對話框會使用任何傳回的結果叫用其 resumeDialog(DialogContext dc, DialogReason reason, Object result) 方法。 如果父對話框尚未實作 resumeDialog(DialogContext dc, DialogReason reason) 方法,則它也會自動結束,並將結果傳遞至其父系。 如果堆疊上沒有更多父對話框,回合的處理將會結束。

參數:

result - 選擇性,要傳遞至父內容的結果。

傳回:

如果工作成功,結果表示對話在回合處理后結束。

findDialog

public Dialog findDialog(String dialogId)

尋找指定內容的對話框識別碼。

參數:

dialogId - 要尋找的對話框識別碼。

傳回:

具有該標識碼或 null 的對話框。

getActiveDialog

public DialogInstance getActiveDialog()

取得堆疊頂端作用中對話框的快取實例,如果堆疊是空的,則為 Null。

傳回:

堆疊頂端作用中對話框的快取實例,如果堆疊是空的,則為 Null。

getChild

public DialogContext getChild()

如果有作用中的子系,則取得子系的對話內容。

傳回:

如果有作用中的子系,則為子系的對話內容。

getContext

public TurnContext getContext()

取得目前交談回合的內容。

傳回:

目前交談回合的內容。

getDialogs

public DialogSet getDialogs()

取得目前對話容器作用中的對話框集合。

傳回:

目前對話容器作用中的對話框集合。

getLocale

public String getLocale()

在 DialogContext 中取得地區設定。

傳回:

代表目前地區設定的 String。

getParent

public DialogContext getParent()

取得父 DialogContext,如果有的話。 用於搜尋要啟動之對話框的標識碼。

傳回:

父代 「DialogContext」,如果有的話。 用於搜尋要啟動之對話框的標識碼。

getServices

public TurnContextStateCollection getServices()

取得與這個對話內容相關的服務集合。

傳回:

服務集合。

getStack

public List getStack()

取得目前的對話框堆疊。

傳回:

目前的對話框堆疊。

getState

public DialogStateManager getState()

取得或設定 DialogStateManager,可管理所有記憶體範圍的檢視。

傳回:

DialogStateManager 具有所有記憶體範圍的統一記憶體檢視。

prompt

public CompletableFuture prompt(String dialogId, PromptOptions options)

協助程式函式可簡化呼叫提示對話框之選項的格式設定。 此協助程式會採用 PromptOptions 自變數,然後呼叫 beginDialog(String dialogId, Object options)

參數:

dialogId - 要啟動之提示對話框的識別碼。
options - 要傳遞至啟動提示對話框的資訊。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

replaceDialog

public CompletableFuture replaceDialog(String dialogId)

傳遞選項之 replaceDialog(String dialogId, Object options) 的 Helper 方法。

參數:

dialogId - 要啟動之新對話框的識別碼。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

replaceDialog

public CompletableFuture replaceDialog(String dialogId, Object options)

啟動新的對話框,並以新的對話框取代目前使用中的對話框堆棧。 這對於建立迴圈或重新導向至另一個對話框特別有用。

參數:

dialogId - 要啟動之新對話框的識別碼。
options - 選擇性的資訊,要傳遞至正在啟動的對話框。

傳回:

如果工作成功,結果會指出對話在對話框處理回合之後是否仍在使用中。

repromptDialog

public CompletableFuture repromptDialog()

呼叫目前使用中對話框的 repromptDialog(TurnContext turnContext, DialogInstance instance) 方法。 與實作重新提示行為的對話框搭配使用。

傳回:

工作,表示要執行的工作佇列。

setParent

public void setParent(DialogContext withDialogContext)

設定父 DialogContext。

參數:

withDialogContext - 要設定父系的 DialogContext。

適用於