共用方式為


Dialog class

定義所有對話框的核心行為。

Extends

建構函式

Dialog(string)

建立 Dialog 類別的新實例。

屬性

EndOfTurn

取得預設回合結束結果。

id

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

telemetryClient

取得此對話框的遙測用戶端。 設定此對話框的遙測用戶端。

方法

beginDialog(DialogContext, O)

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

continueDialog(DialogContext)

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

endDialog(TurnContext, DialogInstance, DialogReason)

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

getVersion()

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

onDialogEvent(DialogContext, DialogEvent)

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

repromptDialog(TurnContext, DialogInstance)

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

resumeDialog(DialogContext, DialogReason, any)

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

繼承的方法

configure(Record<string, unknown>)

用於設定物件的 Fluent 方法。

getConverter(string)

建構函式詳細資料

Dialog(string)

建立 Dialog 類別的新實例。

new Dialog(dialogId?: string)

參數

dialogId

string

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

屬性詳細資料

EndOfTurn

取得預設回合結束結果。

static EndOfTurn: DialogTurnResult

屬性值

備註

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

id

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

string id

屬性值

string

對話框的識別碼。

備註

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

telemetryClient

取得此對話框的遙測用戶端。 設定此對話框的遙測用戶端。

BotTelemetryClient telemetryClient

屬性值

BotTelemetryClient

要用於記錄的 BotTelemetryClient

方法詳細資料

beginDialog(DialogContext, O)

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

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

參數

dc
DialogContext

目前對話框回合的內容。

options

O

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

傳回

Promise<DialogTurnResult>

備註

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

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

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

另請參閱

continueDialog(DialogContext)

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

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

參數

dc
DialogContext

目前對話框回合的內容。

傳回

Promise<DialogTurnResult>

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

備註

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

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

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

另請參閱

endDialog(TurnContext, DialogInstance, DialogReason)

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

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

參數

_context

TurnContext

回合的內容物件。

_instance
DialogInstance

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

_reason
DialogReason

對話框結束的原因。

傳回

Promise<void>

備註

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

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

另請參閱

getVersion()

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

function getVersion(): string

傳回

string

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

備註

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

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

onDialogEvent(DialogContext, DialogEvent)

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

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

參數

dc
DialogContext

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

e
DialogEvent

要引發的事件。

傳回

Promise<boolean>

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

repromptDialog(TurnContext, DialogInstance)

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

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

參數

_context

TurnContext

回合的內容物件。

_instance
DialogInstance

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

傳回

Promise<void>

備註

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

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

另請參閱

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

另請參閱

繼承的方法的詳細資料

configure(Record<string, unknown>)

用於設定物件的 Fluent 方法。

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

參數

config

Record<string, unknown>

要套用的組態設定。

傳回

this

作業完成之後 可設定

繼承自Configure.configure

getConverter(string)

function getConverter(_property: string): Converter | ConverterFactory

參數

_property

string

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

傳回

選取器組態的轉換器。

繼承自可設定.getConverter