PromptConfirm class

可自定義的確認提示。

Extends

建構函式

PromptConfirm(IPromptFeatures)

建立提示的新可自定義實例。 新的提示應該新增為 Bot 或連結庫的對話框。

屬性

features

會提示目前設定的功能集。

方法

addDialogTrigger(ActionSet, string)

針對連結庫內的每個對話呼叫一次,讓對話有機會將其 triggerAction() 新增至連結庫全域動作集。 這些觸發程式會對應至符合觸發條件時啟動對話框的 beginDialogAction()

begin<T>(Session, T)

在啟動新的對話會話時呼叫。

beginDialogAction(string, string, IBeginDialogActionOptions)

將動作系結至對話,該對話框會在每次觸發時啟動另一個對話方塊。 新的對話框將會推送至堆疊,因此不會自動結束目前的工作。 新的對話框結束時,將會繼續目前的工作。 內建提示會在發生此情況時自動重新提示使用者,但藉由在呼叫內建提示時設定 promptAfterAction 旗標,即可停用該行為。

cancelAction(string, TextOrMessageType, ICancelActionOptions)

將動作系結至對話框,以在每次觸發對話時取消該對話框。 取消時,對話父系將會繼續,並 繼續 程式代碼,指出 取消

clone(ActionSet)

傳回現有 ActionSet 的複製品。

customAction(IDialogActionOptions)

將自定義動作系結至對話框,此對話框會在觸發時呼叫傳入的 onSelectAction 處理程式。

dialogInterrupted(Session, string, any)

當根對話被另一個對話框中斷時呼叫。 這可讓對話框在從堆疊中移除之前,中斷執行自定義邏輯的機會。 對話本身負責清除對話堆疊,並開始新的對話。

dialogResumed<T>(Session, IDialogResult<T>)

子對話已結束,目前對話正在繼續。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

系結動作,以在觸發時結束與使用者的交談。

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() 期間呼叫, 呼叫堆棧上每個對話,以判斷用戶語句是否觸發任何對話動作。

findChoices(IRecognizeContext, boolean, (err: Error, choices: IChoice[]) => void)

傳回提示的動態或靜態選項清單。 這個方法通常會呼叫兩次,一次取得要顯示的選項清單,第二次取得要辨識的選項清單。

formatMessage(Session, ListStyle, TextType, TextType, IChoice[])

傳回包含選項清單的訊息。

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

建立要針對提示傳送的訊息。 這會由 sendPrompt( 自動呼叫,因此在大部分情況下,您會想要註冊 onFormatMessage() 處理程式來自定義傳送給提示的訊息。 如果您實作自己的 sendPrompt() 邏輯,則只需要呼叫這個方法。

gettext(Session, TextType, string)

傳回使用提示呼叫端命名空間本地化之提示的文字。

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

在使用者語句中偵測到指定的意圖時,叫用處理程式。 針對以 string 為基礎的意圖,意圖可以是由 辨識器() 所傳回的意圖, 登錄提示,也可以是來自全域 辨識器()的意圖。

注意: 相符專案的完整詳細數據,包括偵測到的實體 & 意圖清單,將會傳遞至第一個瀑布式步驟或對話框的 自變數

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

在使用者語句中偵測到任何指定的意圖時,叫用處理程式。 針對以 string 為基礎的意圖,意圖可以是由 辨識器() 所傳回的意圖, 登錄提示,也可以是來自全域 辨識器()的意圖。

注意: 相符專案的完整詳細數據,包括偵測到的實體 & 意圖清單,將會傳遞至第一個瀑布式步驟或對話框的 自變數

onChoices((context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

註冊處理程式以提供動態選項清單。 在提示的存留期內,處理程式至少會呼叫兩次。 一旦產生要向用戶顯示的選項清單,第二次擷取要與用戶語句比較的選項清單。 不會執行傳回選項的快取,而且會針對每個功能交談回合呼叫處理程式,因此您應該視需要實作自己的快取。 您可以註冊多個處理程式,並使用第一個傳回有效(非 null)選項清單的處理程式。

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

註冊將呼叫的處理程式,以建立即將傳送給提示的傳出 IMessage。 只有當目前提示/retryPrompt 的類型為 string|string[]時,才會呼叫此處理程式。 每當提示/retryPrompt 是 IMessage|IIsMessage 已設定的訊息使用時,就不會呼叫您的處理程式。 您可以註冊多個處理程式,並使用訊息呼叫 callback() 的第一個處理程式。 呼叫 callback(null, null) 會導致處理移至鏈結中的下一個處理程式。

onPrompt((session: Session, next: Function) => void)

註冊每次提示即將傳送訊息給用戶的處理程式。 您可以使用這個勾點來實作自己的自訂提示傳送邏輯。 您可以註冊多個處理程式,並呼叫 next() 會叫用鏈結中的下一個處理程式。 最後一個處理程式會執行提示默認邏輯,也就是使用 formatMessage() 建立新訊息,然後傳送它。

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

註冊會在每次提示收到用戶回復時呼叫的處理程式。 callback() 處理程式可用來傳回信賴分數,瞭解使用者輸入,以及應該傳回給提示呼叫端的值。 呼叫 callback(null, 1.0, true); 表示用戶回應提示,並傳回 boolean true 作為提示的回應。 任何回應類型都是可能的,包括物件。 呼叫 callback(null, 0.0); 表示使用者輸入完全無法理解,而且應該重新提示用戶輸入。

您可以註冊多個處理程式,而且與其他處理程式類型不同,所有已註冊的處理程式都會呼叫,並提供最高信賴分數的處理程式將會選擇為獲勝者。 自定義其中一個內建提示類型時,您通常會想要停用提示的預設辨識器邏輯。 您可以藉由在建立時設定提示 功能來達成此目的。 請記住,如果您完全停用提示預設辨識器邏輯,您必須自行執行所有辨識。

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

剖析使用者語句,並從 0.0 - 1.0 指派分數,指出對話了解用戶語句的信心。 這個方法一律會針對堆疊上的使用中對話框呼叫。 分數為 1.0 表示完美相符,並終止任何進一步的辨識。 當分數小於 1.0 時,堆棧上的每一個對話框都會有其 recognizeAction() 方法呼叫,以查看是否有任何系結至對話的具名動作,更符合用戶語句。 也會評估在 Bot 層級註冊的全域動作。 如果對話框的分數較高,則會使用 recognize() 呼叫傳回的結果物件,呼叫對話框 replyReceived() 方法。 這可讓對話框將辨識階段期間收集的其他數據傳遞至 replyReceived() 方法來進行處理。

如果動作具有較高的分數,則會叫用該動作的對話框,而不是 dialogs replyReceived() 方法。 對話框會保留在堆疊上,而且如果動作叫用新的對話框,可能會在某些時間點繼續執行,因此對話應該為非預期的呼叫做好準備,dialogResumed()

recognizer(IIntentRecognizer)

將新的辨識器外掛程式新增至提示,每次使用者回復提示時都會執行。

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

將動作系結至對話框,該對話框會在每次觸發時重載。 這很適合用來實作處理使用者語句的邏輯,例如「開始」。

replyReceived(Session, IRecognizeResult)

處理從使用者收到的訊息。 由對話框系統呼叫。

selectActionRoute(Session, IRouteResult)

選取語句信賴分數最高的路由。

sendPrompt(Session)

將目前回合的提示傳送給使用者。 這可以從 [matches()][#matches] 處理程式呼叫,以手動傳送提示/重新傳送給使用者。 若要強制傳送初始提示,您必須先設定 session.dialogData.turns = 0;,再呼叫 sendPrompt()

triggerAction(ITriggerActionOptions)

將動作系結至對話,讓該對話框在每次觸發時都會成為作用中的對話方塊。 默認行為是清除堆疊,並在堆疊根目錄啟動對話,以插入任何現有的對話。 中斷的對話框可以藉由將自定義 onInterrupted 處理程式新增至其觸發動作選項,來攔截此中斷。 此外,您可以藉由將自定義 onSelectAction 處理程式提供給觸發程式動作選項,來自定義觸發對話框的啟動方式。

建構函式詳細資料

PromptConfirm(IPromptFeatures)

建立提示的新可自定義實例。 新的提示應該新增為 Bot 或連結庫的對話框。

new PromptConfirm(features?: IPromptFeatures)

參數

features
IPromptFeatures

(選擇性)用來自定義提示行為的功能。

屬性詳細資料

features

會提示目前設定的功能集。

public features: IPromptChoiceFeatures

屬性值

方法詳細資料

addDialogTrigger(ActionSet, string)

針對連結庫內的每個對話呼叫一次,讓對話有機會將其 triggerAction() 新增至連結庫全域動作集。 這些觸發程式會對應至符合觸發條件時啟動對話框的 beginDialogAction()

function addDialogTrigger(actions: ActionSet, dialogId: string)

參數

actions
ActionSet

連結庫全域動作集。

dialogId

string

要觸發之對話框的完整標識碼。

begin<T>(Session, T)

在啟動新的對話會話時呼叫。

function begin<T>(session: Session, args?: T)

參數

session
Session

目前交談的會話物件。

args

T

(選擇性) 自變數由其父代傳遞至對話。

beginDialogAction(string, string, IBeginDialogActionOptions)

將動作系結至對話,該對話框會在每次觸發時啟動另一個對話方塊。 新的對話框將會推送至堆疊,因此不會自動結束目前的工作。 新的對話框結束時,將會繼續目前的工作。 內建提示會在發生此情況時自動重新提示使用者,但藉由在呼叫內建提示時設定 promptAfterAction 旗標,即可停用該行為。

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

參數

name

string

要指派動作的唯一名稱。

id

string

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

options
IBeginDialogActionOptions

(選擇性) 用來設定動作的選項。 如果指定 符合,動作會接聽使用者說出觸發動作的單字或片語,否則動作必須使用 CardAction.dialogAction() 系結至按鈕以觸發動作。 您也可以使用 dialogArgs,將其他參數傳遞至正在啟動的對話方塊。

傳回

cancelAction(string, TextOrMessageType, ICancelActionOptions)

將動作系結至對話框,以在每次觸發對話時取消該對話框。 取消時,對話父系將會繼續,並 繼續 程式代碼,指出 取消

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

參數

name

string

要指派動作的唯一名稱。

msg
TextOrMessageType

(選擇性) 訊息,在取消對話方塊之前傳送使用者。

options
ICancelActionOptions

(選擇性) 用來設定動作的選項。 如果指定 符合,動作會接聽使用者說出觸發動作的單字或片語,否則動作必須使用 CardAction.dialogAction() 系結至按鈕以觸發動作。

傳回

clone(ActionSet)

傳回現有 ActionSet 的複製品。

function clone(copyTo?: ActionSet)

參數

copyTo
ActionSet

(選擇性) 實例,將目前的 物件複製到 。 如果遺失新的實例,將會建立。

傳回

customAction(IDialogActionOptions)

將自定義動作系結至對話框,此對話框會在觸發時呼叫傳入的 onSelectAction 處理程式。

function customAction(options: IDialogActionOptions)

參數

options
IDialogActionOptions

用來設定動作的選項。 如果指定 符合,動作會接聽使用者說出觸發動作的單字或片語。 您可以使用 onFindAction提供自定義比對邏輯。

傳回

dialogInterrupted(Session, string, any)

當根對話被另一個對話框中斷時呼叫。 這可讓對話框在從堆疊中移除之前,中斷執行自定義邏輯的機會。 對話本身負責清除對話堆疊,並開始新的對話。

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

參數

session
Session

目前交談的會話物件。

dialogId

string

應啟動之對話框的標識碼。

dialogArgs

any

應該傳遞至新對話框的自變數。

dialogResumed<T>(Session, IDialogResult<T>)

子對話已結束,目前對話正在繼續。

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

參數

session
Session

目前交談的會話物件。

result

IDialogResult<T>

子對話所傳回的結果。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

系結動作,以在觸發時結束與使用者的交談。

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

參數

name

string

要指派動作的唯一名稱。

msg
TextOrMessageType

(選擇性) 訊息,在結束交談之前傳送使用者。

options
ICancelActionOptions

(選擇性) 用來設定動作的選項。 如果指定 符合,動作會接聽使用者說出觸發動作的單字或片語,否則動作必須使用 CardAction.dialogAction() 系結至按鈕以觸發動作。

傳回

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() 期間呼叫, 呼叫堆棧上每個對話,以判斷用戶語句是否觸發任何對話動作。

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

參數

context
IRecognizeDialogContext

傳入訊息的內容,以及評估對話框的 dialogData

callback

(err: Error, results: IRouteResult[]) => void

使用最上層候選路由叫用的函式。

findChoices(IRecognizeContext, boolean, (err: Error, choices: IChoice[]) => void)

傳回提示的動態或靜態選項清單。 這個方法通常會呼叫兩次,一次取得要顯示的選項清單,第二次取得要辨識的選項清單。

function findChoices(context: IRecognizeContext, recognizePhase: boolean, callback: (err: Error, choices: IChoice[]) => void)

參數

context
IRecognizeContext

目前交談的唯讀辨識器內容。

recognizePhase

boolean

如果為 true,則會使用選項清單來辨識用戶語句。 否則,它們將用來轉譯使用者可用的選項清單。

callback

(err: Error, choices: IChoice[]) => void

將會使用選項提示清單呼叫的函式。

formatMessage(Session, ListStyle, TextType, TextType, IChoice[])

傳回包含選項清單的訊息。

static function formatMessage(session: Session, listStyle: ListStyle, text: TextType, speak?: TextType, choices?: IChoice[])

參數

session
Session

交談的目前會話。

listStyle
ListStyle

要包含在訊息中的清單樣式。

text
TextType

訊息的文字。

speak
TextType

(選擇性)要與訊息一起傳回的 SSML。 這可以是 Null。

choices

IChoice[]

(選擇性) 要包含在訊息中的選項清單。 如果省略訊息,則會傳送訊息,而不包含選擇。

傳回

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

建立要針對提示傳送的訊息。 這會由 sendPrompt( 自動呼叫,因此在大部分情況下,您會想要註冊 onFormatMessage() 處理程式來自定義傳送給提示的訊息。 如果您實作自己的 sendPrompt() 邏輯,則只需要呼叫這個方法。

function formatMessage(session: Session, text: TextType, speak: TextType, callback: (err: Error, msg: IMessage) => void)

參數

session
Session

目前交談的會話物件。

text
TextType

目前的提示/retryPrompt 文字。

speak
TextType

目前的說話/重試Speak SSML。 這個值可能是 Null。

callback

(err: Error, msg: IMessage) => void

用來接收已建立訊息的函式。

gettext(Session, TextType, string)

傳回使用提示呼叫端命名空間本地化之提示的文字。

static function gettext(session: Session, text: TextType, namespace?: string)

參數

session
Session

交談的目前會話。

text
TextType

提示進行當地語系化。

namespace

string

(選擇性) 連結庫命名空間,用於當地語系化提示。 根據預設,會使用提示呼叫端的命名空間。

傳回

string

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

在使用者語句中偵測到指定的意圖時,叫用處理程式。 針對以 string 為基礎的意圖,意圖可以是由 辨識器() 所傳回的意圖, 登錄提示,也可以是來自全域 辨識器()的意圖。

注意: 相符專案的完整詳細數據,包括偵測到的實體 & 意圖清單,將會傳遞至第一個瀑布式步驟或對話框的 自變數

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

參數

intent

RegExp | string

  • 意圖:{RegExp} - 將評估為偵測用戶意圖的正則表達式。
  • 意圖:{string} - IIntentRecognizer 外掛程式所傳回的具名意圖,將用來比對用戶意圖。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 比對意圖時要開始的對話標識符。
  • dialogId:{IDialogWaterfallStep[]} - 比對意圖時要執行的步驟瀑布。
  • dialogId:{IDialogWaterfallStep} - 比對意圖時要執行的單一步驟瀑布。 呼叫內建提示或啟動新的對話框會導致目前對話框在子提示/對話框完成時結束。
dialogArgs

any

(選擇性) 自變數,用來傳遞 dialogId{string}時啟動的對話。

傳回

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

在使用者語句中偵測到任何指定的意圖時,叫用處理程式。 針對以 string 為基礎的意圖,意圖可以是由 辨識器() 所傳回的意圖, 登錄提示,也可以是來自全域 辨識器()的意圖。

注意: 相符專案的完整詳細數據,包括偵測到的實體 & 意圖清單,將會傳遞至第一個瀑布式步驟或對話框的 自變數

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

參數

intent

RegExp[] | string[]

  • 意圖:{RegExp[]} - 將評估為偵測使用者意圖的正則表達式數位。
  • 意圖:{string[]} - IIntentRecognizer 外掛程式所傳回的具名意圖數組,用來比對使用者意圖。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 比對意圖時要開始的對話標識符。
  • dialogId:{IDialogWaterfallStep[]} - 比對意圖時要執行的步驟瀑布。
  • dialogId:{IDialogWaterfallStep} - 比對意圖時要執行的單一步驟瀑布。 呼叫內建提示或啟動新的對話框會導致目前對話框在子提示/對話框完成時結束。
dialogArgs

any

(選擇性) 自變數,用來傳遞 dialogId{string}時啟動的對話。

傳回

onChoices((context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

註冊處理程式以提供動態選項清單。 在提示的存留期內,處理程式至少會呼叫兩次。 一旦產生要向用戶顯示的選項清單,第二次擷取要與用戶語句比較的選項清單。 不會執行傳回選項的快取,而且會針對每個功能交談回合呼叫處理程式,因此您應該視需要實作自己的快取。 您可以註冊多個處理程式,並使用第一個傳回有效(非 null)選項清單的處理程式。

function onChoices(handler: (context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void)

參數

handler

(context: IRecognizeContext, callback: (err: Error, choices?: IChoice[]) => void, recognizePhase?: boolean) => void

需要選項清單時要呼叫的函式。 如果選項將用來辨識用戶回應,則 recognizePhase 參數會是 “true”。

傳回

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

註冊將呼叫的處理程式,以建立即將傳送給提示的傳出 IMessage。 只有當目前提示/retryPrompt 的類型為 string|string[]時,才會呼叫此處理程式。 每當提示/retryPrompt 是 IMessage|IIsMessage 已設定的訊息使用時,就不會呼叫您的處理程式。 您可以註冊多個處理程式,並使用訊息呼叫 callback() 的第一個處理程式。 呼叫 callback(null, null) 會導致處理移至鏈結中的下一個處理程式。

function onFormatMessage(handler: (session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

參數

handler

(session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void

將呼叫的函式,以建立目前提示的 IMessage。 使用訊息或 null 呼叫 callback() 以繼續處理。

傳回

Prompt<any>

onPrompt((session: Session, next: Function) => void)

註冊每次提示即將傳送訊息給用戶的處理程式。 您可以使用這個勾點來實作自己的自訂提示傳送邏輯。 您可以註冊多個處理程式,並呼叫 next() 會叫用鏈結中的下一個處理程式。 最後一個處理程式會執行提示默認邏輯,也就是使用 formatMessage() 建立新訊息,然後傳送它。

function onPrompt(handler: (session: Session, next: Function) => void)

參數

handler

(session: Session, next: Function) => void

呼叫 sendPrompt() 時呼叫的函式。

傳回

Prompt<any>

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

註冊會在每次提示收到用戶回復時呼叫的處理程式。 callback() 處理程式可用來傳回信賴分數,瞭解使用者輸入,以及應該傳回給提示呼叫端的值。 呼叫 callback(null, 1.0, true); 表示用戶回應提示,並傳回 boolean true 作為提示的回應。 任何回應類型都是可能的,包括物件。 呼叫 callback(null, 0.0); 表示使用者輸入完全無法理解,而且應該重新提示用戶輸入。

您可以註冊多個處理程式,而且與其他處理程式類型不同,所有已註冊的處理程式都會呼叫,並提供最高信賴分數的處理程式將會選擇為獲勝者。 自定義其中一個內建提示類型時,您通常會想要停用提示的預設辨識器邏輯。 您可以藉由在建立時設定提示 功能來達成此目的。 請記住,如果您完全停用提示預設辨識器邏輯,您必須自行執行所有辨識。

function onRecognize(handler: (context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

參數

handler

(context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void

呼叫以辨識用戶回復提示的函式。

傳回

Prompt<any>

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

剖析使用者語句,並從 0.0 - 1.0 指派分數,指出對話了解用戶語句的信心。 這個方法一律會針對堆疊上的使用中對話框呼叫。 分數為 1.0 表示完美相符,並終止任何進一步的辨識。 當分數小於 1.0 時,堆棧上的每一個對話框都會有其 recognizeAction() 方法呼叫,以查看是否有任何系結至對話的具名動作,更符合用戶語句。 也會評估在 Bot 層級註冊的全域動作。 如果對話框的分數較高,則會使用 recognize() 呼叫傳回的結果物件,呼叫對話框 replyReceived() 方法。 這可讓對話框將辨識階段期間收集的其他數據傳遞至 replyReceived() 方法來進行處理。

如果動作具有較高的分數,則會叫用該動作的對話框,而不是 dialogs replyReceived() 方法。 對話框會保留在堆疊上,而且如果動作叫用新的對話框,可能會在某些時間點繼續執行,因此對話應該為非預期的呼叫做好準備,dialogResumed()

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

參數

context
IRecognizeDialogContext

要求的內容。

callback

(err: Error, result: IRecognizeResult) => void

使用辨識結果叫用的函式。

recognizer(IIntentRecognizer)

將新的辨識器外掛程式新增至提示,每次使用者回復提示時都會執行。

function recognizer(plugin: IIntentRecognizer)

參數

plugin
IIntentRecognizer

要加入的辨識器。

傳回

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

將動作系結至對話框,該對話框會在每次觸發時重載。 這很適合用來實作處理使用者語句的邏輯,例如「開始」。

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

參數

name

string

要指派動作的唯一名稱。

msg
TextOrMessageType

(選擇性) 訊息,以在重載對話方塊之前傳送使用者。

options
IBeginDialogActionOptions

(選擇性) 用來設定動作的選項。 如果指定 符合,動作會接聽使用者說出觸發動作的單字或片語,否則動作必須使用 CardAction.dialogAction() 系結至按鈕以觸發動作。 您也可以使用 dialogArgs,在重載時將其他參數傳遞至對話方塊。

傳回

replyReceived(Session, IRecognizeResult)

處理從使用者收到的訊息。 由對話框系統呼叫。

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

參數

session
Session

目前交談的會話物件。

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

選取語句信賴分數最高的路由。

function selectActionRoute(session: Session, route: IRouteResult)

參數

session
Session

目前交談的會話物件。

route
IRouteResult

從呼叫 findActionRoutes() 傳回的結果。

sendPrompt(Session)

將目前回合的提示傳送給使用者。 這可以從 [matches()][#matches] 處理程式呼叫,以手動傳送提示/重新傳送給使用者。 若要強制傳送初始提示,您必須先設定 session.dialogData.turns = 0;,再呼叫 sendPrompt()

function sendPrompt(session: Session)

參數

session
Session

目前交談的會話物件。

triggerAction(ITriggerActionOptions)

將動作系結至對話,讓該對話框在每次觸發時都會成為作用中的對話方塊。 默認行為是清除堆疊,並在堆疊根目錄啟動對話,以插入任何現有的對話。 中斷的對話框可以藉由將自定義 onInterrupted 處理程式新增至其觸發動作選項,來攔截此中斷。 此外,您可以藉由將自定義 onSelectAction 處理程式提供給觸發程式動作選項,來自定義觸發對話框的啟動方式。

function triggerAction(options: ITriggerActionOptions)

參數

options
ITriggerActionOptions

用來設定動作的選項。

傳回