共用方式為


DialogContainer class

一組對話框的容器。

Extends

Dialog<O>

建構函式

DialogContainer(string)

建立 Dialog 類別的新實例。

屬性

dialogs

容器對話框集。

id

對話框的唯一標識碼。 設定對話框的唯一標識符。

telemetryClient

設定遙測用戶端,並將它套用至所有子對話。 新增至元件的未來對話框也會繼承此用戶端。 取得目前的遙測用戶端。

繼承的屬性

EndOfTurn

取得預設回合結束結果。

方法

createChildContext(DialogContext)

建立容器使用中子系的內部對話內容。

findDialog(string)

尋找先前新增至容器的子對話。

onDialogEvent(DialogContext, DialogEvent)

使用 DialogContext.emitEvent()引發事件時,由目前對話框或目前對話框啟動的對話框呼叫。

繼承的方法

beginDialog(DialogContext, O)

在衍生類別中覆寫時,啟動對話框。

configure(Record<string, unknown>)

用於設定物件的 Fluent 方法。

continueDialog(DialogContext)

在衍生類別中覆寫時,繼續對話。

endDialog(TurnContext, DialogInstance, DialogReason)

在衍生類別中覆寫時,會在對話結束之前執行清除。

getConverter(string)
getVersion()

編碼字串,用來協助在重新部署時偵測 Bot 變更。

repromptDialog(TurnContext, DialogInstance)

在衍生類別中覆寫時,將使用者重新命名為輸入。

resumeDialog(DialogContext, DialogReason, any)

在衍生類別中覆寫時,在堆疊上對話框完成之後繼續對話。

建構函式詳細資料

DialogContainer(string)

建立 Dialog 類別的新實例。

new DialogContainer(dialogId?: string)

參數

dialogId

string

自選。 對話框的唯一標識碼。

屬性詳細資料

dialogs

容器對話框集。

dialogs: DialogSet

屬性值

id

對話框的唯一標識碼。 設定對話框的唯一標識符。

string id

屬性值

string

對話框的識別碼。

備註

如果未指定,系統就會自動產生此專案。

telemetryClient

設定遙測用戶端,並將它套用至所有子對話。 新增至元件的未來對話框也會繼承此用戶端。 取得目前的遙測用戶端。

BotTelemetryClient telemetryClient

屬性值

BotTelemetryClient

要用於記錄的 BotTelemetryClient

繼承的屬性詳細資料

EndOfTurn

取得預設回合結束結果。

static EndOfTurn: DialogTurnResult

屬性值

備註

此結果表示對話(或對話內的邏輯步驟)已完成目前回合的處理,仍在使用中,而且正在等候更多輸入。

繼承自Dialog.EndOfTurn

方法詳細資料

createChildContext(DialogContext)

建立容器使用中子系的內部對話內容。

function createChildContext(dc: DialogContext): DialogContext | undefined

參數

dc
DialogContext

父代對話框內容。

傳回

DialogContext | undefined

作用中子系的新對話框內容,如果沒有作用中的子系,則為 undefined

findDialog(string)

尋找先前新增至容器的子對話。

function findDialog(dialogId: string): Dialog | undefined

參數

dialogId

string

要查閱之對話框的標識碼。

傳回

Dialog | undefined

如果找到對話框,則為 ;否則為 null。

onDialogEvent(DialogContext, DialogEvent)

使用 DialogContext.emitEvent()引發事件時,由目前對話框或目前對話框啟動的對話框呼叫。

function onDialogEvent(dc: DialogContext, e: DialogEvent): Promise<boolean>

參數

dc
DialogContext

目前交談回合的對話內容。

e
DialogEvent

要引發的事件。

傳回

Promise<boolean>

True 是表示 如果事件是由目前的對話框處理,且反升應該停止。

繼承的方法的詳細資料

beginDialog(DialogContext, O)

在衍生類別中覆寫時,啟動對話框。

function beginDialog(dc: DialogContext, options?: O): Promise<DialogTurnResult>

參數

dc
DialogContext

目前對話框回合的內容。

options

O

自選。 對話框啟動時要使用的自變數。

傳回

Promise<DialogTurnResult>

備註

衍生對話必須覆寫這個方法。

DialogContext 在建立這個對話方塊的新 DialogInstance、將它推送至對話堆棧,然後啟動對話框時,會呼叫此方法。

代表單一回合交談的對話框應該在結束此方法之前等候 dialogContext.endDialog

另請參閱

繼承自Dialog.beginDialog

configure(Record<string, unknown>)

用於設定物件的 Fluent 方法。

function configure(config: Record<string, unknown>): this

參數

config

Record<string, unknown>

要套用的組態設定。

傳回

this

作業完成之後 可設定

繼承自Configure.configure

continueDialog(DialogContext)

在衍生類別中覆寫時,繼續對話。

function continueDialog(dc: DialogContext): Promise<DialogTurnResult>

參數

dc
DialogContext

目前對話框回合的內容。

傳回

Promise<DialogTurnResult>

解決對話框回合結果的承諾。

備註

支援多回合交談的衍生對話應該覆寫此方法。 根據預設,這個方法會發出對話框已完成並傳回的訊號。

DialogContext 在繼續對話時呼叫此方法。

若要向對話框內容發出訊號,表示此對話框已完成,請在結束此方法之前,先等候 dialogContext.endDialog

另請參閱

繼承自Dialog.continueDialog

endDialog(TurnContext, DialogInstance, DialogReason)

在衍生類別中覆寫時,會在對話結束之前執行清除。

function endDialog(_context: TurnContext, _instance: DialogInstance, _reason: DialogReason): Promise<void>

參數

_context

TurnContext

回合的內容物件。

_instance
DialogInstance

此對話框的目前狀態資訊。

_reason
DialogReason

對話框結束的原因。

傳回

Promise<void>

備註

需要在結束之前執行記錄或清除的衍生對話應該覆寫此方法。 根據預設,這個方法沒有任何作用。

DialogContext 目前對話框結束時呼叫這個方法。

另請參閱

繼承自Dialog.endDialog

getConverter(string)

function getConverter(_property: string): Converter | ConverterFactory

參數

_property

string

條件式選取器組態的索引鍵。

傳回

選取器組態的轉換器。

繼承自可設定.getConverter

getVersion()

編碼字串,用來協助在重新部署時偵測 Bot 變更。

function getVersion(): string

傳回

string

唯一的字串,只有在對話框以應該重新啟動對話框的方式變更時才會變更。

備註

這預設會傳回對話框 標識子,但可以覆寫以提供更精確的變更偵測邏輯。 堆疊上具有其版本變更的任何對話框都會引發 versionChanged 事件。 如果 Bot 未處理此事件,則會擲回錯誤,導致 Bot 錯誤處理程式邏輯正在執行。

傳回空字串將會一起停用元件的版本追蹤。

繼承自Dialog.getVersion

repromptDialog(TurnContext, DialogInstance)

在衍生類別中覆寫時,將使用者重新命名為輸入。

function repromptDialog(_context: TurnContext, _instance: DialogInstance): Promise<void>

參數

_context

TurnContext

回合的內容物件。

_instance
DialogInstance

此對話框的目前狀態資訊。

傳回

Promise<void>

備註

支持驗證和重新提示邏輯的衍生對話應該覆寫此方法。 根據預設,這個方法沒有任何作用。

DialogContext 當目前的對話框應該重新要求使用者輸入時,就會呼叫此方法。 這個方法會針對提示對話框實作。

另請參閱

繼承自Dialog.repromptDialog

resumeDialog(DialogContext, DialogReason, any)

在衍生類別中覆寫時,在堆疊上對話框完成之後繼續對話。

function resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise<DialogTurnResult>

參數

dc
DialogContext

目前對話框回合的內容。

reason
DialogReason

對話繼續的原因。 這通常會 DialogReason.endCalled

result

any

自選。 結束之對話框的傳回值,如果有的話。

傳回

Promise<DialogTurnResult>

解決對話框回合結果的承諾。

備註

支援多回合交談的衍生對話應該覆寫此方法。 根據預設,這個方法會發出對話框已完成並傳回的訊號。

DialogContext 在繼續對話時呼叫此方法。 如果堆疊上的上一個對話框傳回值,該值會位於 result 參數中。

若要啟動 對話框,請使用 DialogContext.beginDialogDialogContext.prompt;不過,此對話框不一定是啟動子對話的對話框。 若要向對話框內容發出訊號,表示此對話框已完成,請在結束此方法之前,先等候 dialogContext.endDialog

另請參閱

繼承自Dialog.resumeDialog