共用方式為


botbuilder-dialogs package

類別

ChoiceFactory

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

ComponentDialog

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

Configurable

所有可設定類別的基類。

Dialog

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

DialogContainer

一組對話方塊的容器。

DialogContext

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

DialogContextError

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

DialogEvents

表示與對話方塊「生命週期」相關的事件。

DialogManager

執行對話方塊系統的類別。

DialogSet

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

DialogTurnStateConstants

定義對話方塊回合狀態常數。

DialogsBotComponent

Bot 對話的 Bot 元件。

DialogsComponentRegistration

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

DialogPath

定義可用對話方塊的路徑。

DialogStateManager

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

AliasPathResolver

對應 aliasXXX - > 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

定義可復原回合的路徑。

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

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

ModelResult

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

Token

由 傳回的 TokenizerFunction 個別權杖。

Converter

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

DialogConfiguration
DialogEvent
DialogInstance

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

DialogTurnResult

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

DialogState

包含特定 DialogSet之對話方塊堆疊狀態的相關資訊對話方塊狀態。

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

列舉記憶體範圍的介面。

ComponentPathResolvers

用於宣告路徑解析程式的介面。

DialogStateManagerConfiguration
PathResolver

Copyright (c) Microsoft Corporation。 著作權所有,並保留一切權利。 已獲 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

控制向使用者呈現的 或 是/否 選項的選項 ConfirmPrompt 方式 ChoicePrompt

函式

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

要搜尋的文字或使用者語句。 對於傳入的 'message' 活動,您可以直接使用 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

要搜尋的文字或使用者語句。 對於傳入的 'message' 活動,您可以直接使用 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[]

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) 目前與使用者的交談回合。

傳回

使用中的 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>