共用方式為


WaterfallStepContext class

傳入至 WaterfallStep的內容物件。

Extends

建構函式

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

建立新的 WaterfallStepContext 實例。

屬性

activeDialog
child
dialogManager
index

正在執行之目前瀑布式步驟的索引。

options

當啟動步驟瀑布式對話時,任何傳遞至步驟的選項 DialogContext.beginDialog()

reason

瀑布步驟執行的原因。

result

在上一個瀑布步驟中呼叫的對話或提示所傳回的結果。

values

值字典,所有瀑布步驟都會保存這些值。

繼承的屬性

context

取得回合的內容物件。

dialogs

取得可以直接從這個內容呼叫的對話框。

parent

這個對話內容的父對話內容,如果這個內容沒有父系,則 undefined

services

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

stack

取得目前的對話框堆疊。

state

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

方法

next(any)

跳到下一個瀑布步驟。

繼承的方法

beginDialog(string, object)

啟動對話實例,並將其推送至對話堆疊。 建立對話的新實例,並將它推送至堆疊。

cancelAllDialogs(boolean, string, any)

取消對話堆疊上的所有對話框,並清除堆疊。

continueDialog()

如果有的話,繼續執行使用中的對話框,方法是將此對話內容傳遞至其 Dialog.continueDialog 方法。

emitEvent(string, any, boolean, boolean)

搜尋具有指定標識碼的對話框。

endDialog(any)

結束對話框,並將它從堆疊中快顯出來。 傳回對話框父系的選擇性結果。

findDialog(string)

搜尋具有指定標識碼的對話框。

getLocale()

取得 DialogContext 中的 CultureInfo。

prompt(string, string | Partial<Activity> | PromptOptions)

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

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

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

replaceDialog(string, object)

結束使用中的對話框,並在其位置啟動新的對話框。

repromptDialog()

要求使用中的對話框重新提示用戶輸入。

建構函式詳細資料

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

建立新的 WaterfallStepContext 實例。

new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)

參數

dc
DialogContext

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

info

WaterfallStepInfo<O>

用來初始化步驟內容的值。

屬性詳細資料

activeDialog

DialogInstance | undefined activeDialog

屬性值

DialogInstance | undefined

對話框頂端對話框的狀態資訊,如果堆疊是空的,則為 undefined

child

DialogContext | undefined child

屬性值

DialogContext | undefined

如果使用中對話是容器,則子系的對話內容。

dialogManager

警告

此 API 現已淘汰。

This property serves no function.

DialogManager dialogManager

屬性值

目前的對話框管理員實例。 這個屬性已被取代。

index

正在執行之目前瀑布式步驟的索引。

number index

屬性值

number

正在執行之目前瀑布式步驟的索引。

options

當啟動步驟瀑布式對話時,任何傳遞至步驟的選項 DialogContext.beginDialog()

O options

屬性值

O

呼叫瀑布式對話的任何選項。

reason

瀑布步驟執行的原因。

DialogReason reason

屬性值

瀑布步驟執行的原因。

result

在上一個瀑布步驟中呼叫的對話或提示所傳回的結果。

any result

屬性值

any

上一個瀑布步驟的結果。

values

值字典,所有瀑布步驟都會保存這些值。

object values

屬性值

object

值字典,所有瀑布步驟都會保存這些值。

繼承的屬性詳細資料

context

取得回合的內容物件。

context: TurnContext

屬性值

TurnContext

繼承自DialogContext.context

dialogs

取得可以直接從這個內容呼叫的對話框。

dialogs: DialogSet

屬性值

繼承自DialogContext.dialogs

parent

這個對話內容的父對話內容,如果這個內容沒有父系,則 undefined

parent: DialogContext | undefined

屬性值

DialogContext | undefined

備註

當它嘗試啟動對話時,對話內容會在其 對話框中搜尋 Dialog.id,。 如果在此對話內容中找不到要啟動的對話框,則會在其父對話內容中搜尋等等。

繼承自DialogContext.parent

services

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

services: TurnContextStateCollection

屬性值

TurnContextStateCollection

繼承自DialogContext.services

stack

取得目前的對話框堆疊。

stack: DialogInstance[]

屬性值

繼承自DialogContext.stack

state

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

state: DialogStateManager

屬性值

繼承自DialogContext.state

方法詳細資料

next(any)

跳到下一個瀑布步驟。

function next(result?: any): Promise<DialogTurnResult>

參數

result

any

(選擇性) 結果,以傳遞至下一個步驟。

傳回

Promise<DialogTurnResult>

DialogTurnResult 的承諾。

備註

return await step.skip();

繼承的方法的詳細資料

beginDialog(string, object)

啟動對話實例,並將其推送至對話堆疊。 建立對話的新實例,並將它推送至堆疊。

function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

參數

dialogId

string

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

options

object

自選。 啟動對話框時要傳入對話框的自變數。

傳回

Promise<DialogTurnResult>

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

備註

如果堆疊上已經有作用中的對話框,該對話框將會暫停,直到它再次成為堆棧上的頂端對話框為止。

傳回物件的 狀態 描述此方法完成之後對話框堆疊的狀態。

如果在此對話內容或任何其祖系中找不到要求的對話框,這個方法會擲回例外狀況。

例如:

const result = await dc.beginDialog('greeting', { name: user.name });

另請參閱

繼承自DialogContext.beginDialog

cancelAllDialogs(boolean, string, any)

取消對話堆疊上的所有對話框,並清除堆疊。

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

參數

cancelParents

boolean

自選。 如果 true 所有父對話方塊也會取消。

eventName

string

自選。 取消當對話框引發的自定義事件名稱。 這會預設為 cancelDialog

eventValue

any

自選。 要隨著自定義取消事件一起傳遞的值。

傳回

Promise<DialogTurnResult>

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

備註

這會先呼叫每個對話框的 Dialog.endDialog 方法,再從堆棧中移除對話方塊。

如果一開始堆疊上有任何對話框,則傳回值的 狀態取消;否則,它會

此範例會先清除對話框堆疊,dc,再啟動 『bookFlight』 對話方塊。

await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');

另請參閱

繼承自DialogContext.cancelAllDialogs

continueDialog()

如果有的話,繼續執行使用中的對話框,方法是將此對話內容傳遞至其 Dialog.continueDialog 方法。

function continueDialog(): Promise<DialogTurnResult>

傳回

Promise<DialogTurnResult>

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

備註

呼叫完成之後,您可以檢查回合內容的 回應 屬性,以判斷對話框是否傳送回復給使用者。

傳回物件的 狀態 描述此方法完成之後對話框堆疊的狀態。

一般而言,您會從 Bot 的回合處理程式內呼叫這個 。

例如:

const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
    // Send fallback message
    await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}

繼承自DialogContext.continueDialog

emitEvent(string, any, boolean, boolean)

搜尋具有指定標識碼的對話框。

function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>

參數

name

string

要引發的事件名稱。

value

any

自選。 要隨事件一起傳送的值。

bubble

boolean

自選。 旗標,以控制事件是否應該在本機處理時反升至其父系。 預設為 true的值。

fromLeaf

boolean

自選。 事件是否從分葉節點發出。

傳回

Promise<boolean>

如果已處理事件,true

備註

針對目前對話框或啟動該對話框的人員發出具名事件來處理。

繼承自DialogContext.emitEvent

endDialog(any)

結束對話框,並將它從堆疊中快顯出來。 傳回對話框父系的選擇性結果。

function endDialog(result?: any): Promise<DialogTurnResult>

參數

result

any

自選。 要傳遞至父邏輯的結果。 這可能是堆疊上的下一個對話框,如果這是堆疊上的最後一個對話框、父對話內容或 Bot 的回合處理程式。

傳回

Promise<DialogTurnResult>

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

備註

對話框是對話堆疊上的下一個對話方塊,如果有的話。 這個方法會呼叫父系的 Dialog.resumeDialog 方法,並傳遞結束對話傳回的結果。 如果沒有父對話框,回合就會結束,而結果會透過傳回物件的 結果 屬性提供給 Bot 使用。

傳回物件的 狀態 描述此方法完成之後對話框堆疊的狀態。

一般而言,您會從特定對話的邏輯中呼叫此專案,以向對話內容發出訊號,指出對話已完成、對話應該從堆棧中移除,而且父對話應該繼續。

例如:

return await dc.endDialog(returnValue);

另請參閱

繼承自DialogContext.endDialog

findDialog(string)

搜尋具有指定標識碼的對話框。

function findDialog(dialogId: string): Dialog | undefined

參數

dialogId

string

要搜尋之對話框的標識碼。

傳回

Dialog | undefined

所提供標識碼的對話框。

備註

如果在與這個對話內容相關聯的 DialogSet 中找不到要啟動的對話,它會嘗試在其父對話內容中尋找對話框。

另請參閱

繼承自DialogContext.findDialog

getLocale()

取得 DialogContext 中的 CultureInfo。

function getLocale(): string

傳回

string

地區設定字串。

繼承自DialogContext.getLocale

prompt(string, string | Partial<Activity> | PromptOptions)

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

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>

參數

dialogId

string

要啟動之提示對話框的識別碼。

promptOrOptions

string | Partial<Activity> | PromptOptions

要傳送使用者的初始提示文字、要傳送為初始提示的活動,或用來格式化提示對話框的物件。

傳回

Promise<DialogTurnResult>

備註

這個協助程式方法會將 物件格式化為做為 options 參數,然後呼叫 beginDialog 啟動指定的提示對話方塊。

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

繼承自DialogContext.prompt

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

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

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>

參數

dialogId

string

要啟動之提示對話框的識別碼。

promptOrOptions

string | Partial<Activity> | PromptOptions

要傳送使用者的初始提示文字、要傳送為初始提示的 活動,或要格式化提示對話框的物件。

choices

string | Choice[]

自選。 要讓使用者選擇的選項陣列,以便搭配 ChoicePrompt使用。

傳回

Promise<DialogTurnResult>

備註

這個協助程式方法會將 物件格式化為做為 options 參數,然後呼叫 beginDialog 啟動指定的提示對話方塊。

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

繼承自DialogContext.prompt

replaceDialog(string, object)

結束使用中的對話框,並在其位置啟動新的對話框。

function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

參數

dialogId

string

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

options

object

自選。 啟動時要傳入新對話的自變數。

傳回

Promise<DialogTurnResult>

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

備註

這對於建立迴圈或重新導向至另一個對話框特別有用。

傳回物件的 狀態 描述此方法完成之後對話框堆疊的狀態。

這個方法類似於結束目前的對話框,並立即開始新的對話方塊。 不過,父對話既不會繼續,也不會收到通知。

另請參閱

繼承自DialogContext.replaceDialog

repromptDialog()

要求使用中的對話框重新提示用戶輸入。

function repromptDialog(): Promise<void>

傳回

Promise<void>

備註

這會呼叫使用中對話框的 repromptDialog 方法。

例如:

await dc.repromptDialog();

繼承自DialogContext.repromptDialog