共用方式為


botbuilder-dialogs package

類別

ChoiceFactory

一組公用程式函式,可協助格式化包含選項清單的「訊息」活動。

ComponentDialog

包含其他子對話之對話框的基類。

Configurable

所有可設定類別的基類。

Dialog

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

DialogContainer

一組對話框的容器。

DialogContext

與特定 DialogSet相關的目前對話回合內容。

DialogContextError

包含額外對話內容的錯誤,包括對話堆疊。

DialogEvents

代表與對話框「生命週期」相關的事件。

DialogManager

執行對話框系統的類別。

DialogSet

一組相關的對話,可以彼此呼叫。

DialogTurnStateConstants

定義對話框回合狀態常數。

DialogsBotComponent

Bot 對話框的 Bot 元件。

DialogsComponentRegistration

讓對話框元件可供系統註冊功能使用。

DialogPath

定義可用對話框的路徑。

DialogStateManager

DialogStateManager 會管理記憶體範圍和路徑解析程式。

AliasPathResolver

地圖別名XXX -> path.xxx ($foo => dialog.foo)。

AtAtPathResolver

地圖 @@ => turn.recognized.entitites.xxx 陣列。

AtPathResolver

地圖 @@ => turn.recognized.entitites.xxx[0]

DollarPathResolver

地圖$xxx => dialog.xxx

HashPathResolver

地圖 #xxx => turn.recognized.intents.xxx

PercentPathResolver

地圖 %xxx => class.xxx (又名 activeDialog.properties.xxx)

ScopePath

定義可用範圍的路徑。

BotStateMemoryScope

以 BotState 為基礎的記憶體範圍基類。

ClassMemoryScope

ClassMemoryScope 對應 “class” -> dc.activeDialog.properties

ConversationMemoryScope

範圍設定為目前交談的記憶體。

DialogClassMemoryScope

DialogClassMemoryScope 對應 “dialogClass” -> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope 對應 'dialogcontext' -> 屬性。

DialogMemoryScope

DialogMemoryScope 對應 “dialog” -> dc.parent.activeDialog.state ||dc.activeDialog.state

MemoryScope

所有記憶體範圍的抽象基類。

SettingsMemoryScope

SettingsMemoryScope 對應 “settings” -> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope 對應 “this” -> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope 代表限定於目前回合的記憶體。

UserMemoryScope

限定為目前用戶的記憶體。

ThisPath

定義傳遞至使用中對話框的路徑。

TurnPath

定義可avaiable回合的路徑。

ActivityPrompt

等候收到活動。

AttachmentPrompt

提示用戶上傳影像等附件。

ChoicePrompt

提示使用者從選擇清單中選取。

ConfirmPrompt

提示使用者確認具有「是」或「否」回應的專案。

DateTimePrompt

提示使用者輸入 datetime 運算式。

NumberPrompt

提示使用者輸入數位。

OAuthPrompt

建立新的提示,要求使用者使用 Bot Frameworks 單一登錄 (SSO) 服務登入。

Prompt

所有提示的基類。

PromptCultureModels

[確認] 和 [選擇提示] 中目前支援文化特性模型的類別容器。

TextPrompt

提示使用者輸入一些文字。

Recognizer

辨識器基類。

SkillDialog

特製化對話框,可將遠端呼叫包裝至技能。

WaterfallDialog

瀑布式是一個對話,已針對提示使用者提供一系列問題而優化。

WaterfallStepContext

傳入至 WaterfallStep的內容物件。

介面

BeginSkillDialogOptions

具有 SkillDialog 對話框自變數的類別。

ChoiceFactoryOptions

用來調整選擇清單格式的其他選項。

Choice

選項的實例,可用來將選擇轉譯給使用者,或辨識用戶選取的專案。

FindChoicesOptions

控制 findChoices()所執行辨識的選項。

FoundChoice

findChoices()傳回的結果。

FindValuesOptions

用來控制用戶語句中如何辨識選項的基本搜尋選項。

FoundValue

內部:findValues()傳回的原始搜尋結果。

SortedValue

INTERNAL:可以排序且仍然參考其原始位置在來源陣列中的值。 findChoices() 函式會將傳入的選項展開至個別 SortedValue 實例,並將其傳遞至 findValues()。 每個個別的 Choice 都可能導致應該搜尋的多個同義字,因此此數據結構可讓我們將每個同義字當做值傳遞為搜尋,同時維護值所來自之選擇的索引。

ModelResult

實體辨識器傳回的外部結果,例如 recognizeChoices()

Token

TokenizerFunction傳回的個別令牌。

Converter

轉換子會將 物件從某個類型轉換成另一個類型。

DialogConfiguration
DialogEvent
DialogInstance

包含堆疊上對話框實例的狀態資訊。

DialogTurnResult

表示對話內容嘗試開始、繼續或作一或多個對話的結果。

DialogState

包含特定 DialogSet之對話框堆疊狀態的相關信息。

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

列舉記憶體範圍的介面。

ComponentPathResolvers

宣告路徑解析程序的介面。

DialogStateManagerConfiguration
PathResolver

著作權(c) Microsoft公司。 保留所有權利。 根據 MIT 授權授權。

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

DateTimePrompt傳回的結果。

OAuthPromptSettings

用來設定 OAuthPrompt 實例的設定。

PromptOptions

所有提示所支援的基本組態選項。

PromptRecognizerResult

提示辨識器函式傳回的結果。

PromptValidatorContext

傳遞至自定義 PromptValidator的內容資訊。

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

定義將數據系結至 T 的範本介面。

WaterfallStepInfo

傳遞至 WaterfallStepContext 建構函式的值。

類型別名

TokenizerFunction

可傳遞至 recognizeChoices()findChoices()findValues()之替代斷詞工具的簽章。

type TokenizerFunction = (text: string, locale?: string) => Token[];
ConverterFactory
PromptValidator

提供自訂提示驗證程式的函式簽章。

type PromptValidator<T> = (prompt: PromptValidatorContext<T>) => Promise<boolean>;
WaterfallStep

個別瀑布步驟的函式簽章。

type WaterfallStep<O extends object = {}> = (step: WaterfallStepContext<O>) => Promise<DialogTurnResult>;

列舉

DialogReason

指出呼叫對話框方法的原因。

DialogTurnStatus

表示對話內容嘗試開始、繼續或作一或多個對話之後,對話堆棧的狀態。 另請參閱

ListStyle

控制向用戶呈現 ConfirmPromptChoicePrompt 或是/否選項的選項。

函式

findChoices(string, string | Choice[], FindChoicesOptions)

中層搜尋函式,用於辨識語句中的選擇。

findValues(string, SortedValue[], FindValuesOptions)

內部:低階函式,可在語句內搜尋一組值。 findChoices()recognizeChoices() 等較高層級的函式會分層在此函式上方。 在大部分情況下,只要呼叫其中一個較高層級的函式比較容易,但此函式包含驅動選擇辨識的模糊搜尋演算法。

recognizeChoices(string, string | Choice[], FindChoicesOptions)

用於辨識用戶語句中選項的高階函式。

defaultTokenizer(string, string)

在空格和標點符號上中斷的簡單Tokenizer。

getActiveDialogContext(DialogContext)

遞歸地逐步執行DC堆疊,以尋找作用中的DC。

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)
isFromParentToSkill(TurnContext)

判斷技能是否作為技能父系。

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

從指定的內容和存取子執行對話框。

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

協助程序判斷我們是否應該將 EoC 傳送給父代。

isComponentMemoryScopes(unknown)

檢查 ComponentRegistration 是否 ComponentMemoryScopes

isComponentPathResolvers(unknown)

檢查 ComponentRegistration 是否 ComponentPathResolvers

createConnectorClient(TurnContext, string, ClaimsIdentity, string)
exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)
getSignInResource(TurnContext, OAuthPromptSettings)
getUserToken(TurnContext, OAuthPromptSettings, string)
signOutUser(TurnContext, OAuthPromptSettings)

函式詳細資料

findChoices(string, string | Choice[], FindChoicesOptions)

中層搜尋函式,用於辨識語句中的選擇。

function findChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

參數

utterance

string

要搜尋的文字或用戶語句。 對於傳入的「訊息」活動,您可以直接使用 context.activity.text

choices

string | Choice[]

要搜尋的選項清單。

options
FindChoicesOptions

(選擇性)用來調整所執行搜尋的選項。

傳回

找到的選項清單,依最相關的第一個排序。

備註

此函式會分層在 findValues() 之上,並只會決定應該搜尋的所有同義字,再呼叫 findValues() 以執行實際搜尋。 recognizeChoices() 函式會分層在此函式上方,並新增依索引或序數位置在清單中選取選擇的功能。 當您不想要 recognizeChoices()完成索引和序數位置辨識時,呼叫這個特定函式會很有用。

const { findChoices } = require('botbuilder-choices');

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = findChoices(utterance, choices);
if (results.length == 1) {
    await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
    const ambiguous = results.map((r) => r.resolution.value);
    await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
    await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}

findValues(string, SortedValue[], FindValuesOptions)

內部:低階函式,可在語句內搜尋一組值。 findChoices()recognizeChoices() 等較高層級的函式會分層在此函式上方。 在大部分情況下,只要呼叫其中一個較高層級的函式比較容易,但此函式包含驅動選擇辨識的模糊搜尋演算法。

function findValues(utterance: string, values: SortedValue[], options?: FindValuesOptions): ModelResult<FoundValue>[]

參數

utterance

string

要搜尋的文字或用戶語句。

values

SortedValue[]

要搜尋的值清單。

options
FindValuesOptions

(選擇性)用來調整所執行搜尋的選項。

傳回

找到的值清單。

recognizeChoices(string, string | Choice[], FindChoicesOptions)

用於辨識用戶語句中選項的高階函式。

function recognizeChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

參數

utterance

string

要搜尋的文字或用戶語句。 對於傳入的「訊息」活動,您可以直接使用 context.activity.text

choices

string | Choice[]

要搜尋的選項清單。

options
FindChoicesOptions

(選擇性)用來調整所執行搜尋的選項。

傳回

找到的選項清單,依最相關的第一個排序。

備註

這會分層在 findChoices() 函式上方,並新增邏輯,讓使用者依索引指定自己的選擇(他們可以說「一」來挑選 choice[0])或序數位置(他們可以說「第二個」來挑選 choice[1]。使用者語句會依下列順序辨識:

  • 依名稱使用 findChoices()
  • 依 1 的序數位置。
  • 依 1 的索引位置。
const { recognizeChoices } = require('botbuilder-choices');

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices);
if (results.length == 1) {
    await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
    const ambiguous = results.map((r) => r.resolution.value);
    await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
    await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}

defaultTokenizer(string, string)

在空格和標點符號上中斷的簡單Tokenizer。

function defaultTokenizer(text: string, _locale?: string): Token[]

參數

text

string

輸入文字。

_locale

string

選擇性,識別輸入文字的地區設定。

傳回

Token[]

令牌清單。

備註

唯一完成的正規化是小寫標記。 開發人員可以使用自己的函式包裝此 Tokenizer,以執行額外的正規化,例如 詞幹處理

const { recognizeChoices, defaultTokenizer } = require('botbuilder-choices');
const stemmer = require('stemmer');

function customTokenizer(text, locale) {
   const tokens = defaultTokenizer(text, locale);
   tokens.forEach((t) => {
       t.normalized = stemmer(t.normalized);
   });
   return tokens;
}

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices, { tokenizer: customTokenizer });

getActiveDialogContext(DialogContext)

遞歸地逐步執行DC堆疊,以尋找作用中的DC。

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

參數

dialogContext
DialogContext

(xref:botbuilder-dialogs.DialogContext) 用於目前與使用者的交談回合。

傳回

Active DialogContext

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

function internalRun(context: TurnContext, dialogId: string, dialogContext: DialogContext, dialogStateManagerConfiguration?: DialogStateManagerConfiguration): Promise<DialogTurnResult>

參數

context

TurnContext

回合 TurnContext

dialogId

string

對話框識別碼。

dialogContext
DialogContext

目前交談回合的 DialogContext

dialogStateManagerConfiguration
DialogStateManagerConfiguration

對話框狀態管理員的設定。

傳回

Promise<DialogTurnResult>

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

isFromParentToSkill(TurnContext)

判斷技能是否作為技能父系。

function isFromParentToSkill(context: TurnContext): boolean

參數

context

TurnContext

(xref:botbuilder-core.與使用者目前交談回合的 TurnContext) 物件。

傳回

boolean

布爾值,表示技能是否為技能父系。

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

從指定的內容和存取子執行對話框。

function runDialog(dialog: Dialog, context: TurnContext, accessor: StatePropertyAccessor<DialogState>): Promise<void>

參數

dialog
Dialog

要執行的 對話框

context

TurnContext

(xref:botbuilder-core.與使用者目前交談回合的 TurnContext) 物件。

accessor

StatePropertyAccessor<DialogState>

用來存取 BotState 物件中建立之狀態屬性的已定義方法。

傳回

Promise<void>

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

協助程序判斷我們是否應該將 EoC 傳送給父代。

function shouldSendEndOfConversationToParent(context: TurnContext, turnResult: DialogTurnResult): boolean

參數

context

TurnContext

回合 TurnContext

turnResult
DialogTurnResult

對話框回合結果。

傳回

boolean

如果應該傳送 EoC,則為 True,否則為 false。

isComponentMemoryScopes(unknown)

檢查 ComponentRegistration 是否 ComponentMemoryScopes

function isComponentMemoryScopes(component: unknown): boolean

參數

component

unknown

元件註冊。

傳回

boolean

輸入檢查結果。

isComponentPathResolvers(unknown)

檢查 ComponentRegistration 是否 ComponentPathResolvers

function isComponentPathResolvers(component: unknown): boolean

參數

component

unknown

元件註冊。

傳回

boolean

輸入檢查結果。

createConnectorClient(TurnContext, string, ClaimsIdentity, string)

function createConnectorClient(context: TurnContext, serviceUrl: string, claimsIdentity: ClaimsIdentity, audience: string): Promise<ConnectorClient>

參數

context

TurnContext

serviceUrl

string

claimsIdentity

ClaimsIdentity

audience

string

傳回

Promise<ConnectorClient>

exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)

function exchangeToken(context: TurnContext, settings: OAuthPromptSettings, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>

參數

context

TurnContext

tokenExchangeRequest

TokenExchangeRequest

傳回

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

function getSignInResource(context: TurnContext, settings: OAuthPromptSettings): Promise<SignInUrlResponse>

參數

context

TurnContext

傳回

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

function getUserToken(context: TurnContext, settings: OAuthPromptSettings, magicCode: string): Promise<TokenResponse>

參數

context

TurnContext

magicCode

string

傳回

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

function signOutUser(context: TurnContext, settings: OAuthPromptSettings): Promise<void>

參數

context

TurnContext

傳回

Promise<void>