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 |
|
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 |
傳入至 |
介面
BeginSkillDialogOptions |
類別,具有 SkillDialog 的對話方塊引數。 |
ChoiceFactoryOptions |
用來調整挑選清單格式設定的其他選項。 |
Choice |
選項的實例,可用來將選擇轉譯給使用者,或辨識使用者挑選的專案。 |
FindChoicesOptions |
控制 所 |
FoundChoice |
傳 |
FindValuesOptions |
用來控制使用者語句中如何辨識選項的基本搜尋選項。 |
FoundValue |
內部:所 |
SortedValue |
內部:可以排序且仍參考其原始位置在來源陣列中的值。 函 |
ModelResult |
實體辨識器所傳回的外部結果,例如 |
Token |
由 傳回的 |
Converter |
轉換子會將物件從一個類型轉換成另一個類型。 |
DialogConfiguration | |
DialogEvent | |
DialogInstance |
包含堆疊上對話方塊實例的狀態資訊。 |
DialogTurnResult |
表示對話方塊內容嘗試開始、繼續或操作一或多個對話的結果。 |
DialogState |
包含特定 DialogSet之對話方塊堆疊狀態的相關資訊對話方塊狀態。 |
DialogManagerConfiguration | |
DialogManagerResult | |
DialogDependencies | |
ComponentMemoryScopes |
列舉記憶體範圍的介面。 |
ComponentPathResolvers |
用於宣告路徑解析程式的介面。 |
DialogStateManagerConfiguration | |
PathResolver |
Copyright (c) Microsoft Corporation。 著作權所有,並保留一切權利。 已獲 MIT 授權。 |
ChoiceDefaultsChoicePrompt | |
ChoiceDefaultsConfirmPrompt | |
DateTimeResolution |
傳 |
OAuthPromptSettings |
用來設定實例的 |
PromptOptions |
所有提示都支援的基本組態選項。 |
PromptRecognizerResult |
提示辨識器函式傳回的結果。 |
PromptValidatorContext |
傳遞至自訂 |
PromptCultureModel | |
RecognizerConfiguration | |
SkillDialogOptions | |
TemplateInterface |
定義將資料系結至 T 的範本介面。 |
WaterfallStepInfo |
傳遞至建構函式的值 |
類型別名
TokenizerFunction |
可傳遞至
|
ConverterFactory | |
PromptValidator |
提供自訂提示驗證程式的函式簽章。
|
WaterfallStep |
個別瀑布步驟的函式簽章。
|
列舉
DialogReason |
指出呼叫對話方塊方法的原因。 |
DialogTurnStatus |
表示對話方塊內容嘗試開始、繼續或操作一或多個對話之後,對話方塊堆疊的狀態。 另請參閱 |
ListStyle |
控制向使用者呈現的 或 是/否 選項的選項 |
函式
函式詳細資料
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
要搜尋的值清單。
- 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
- 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>
參數
- 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
- 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
- settings
- OAuthPromptSettings
- tokenExchangeRequest
-
TokenExchangeRequest
傳回
Promise<TokenResponse>
getSignInResource(TurnContext, OAuthPromptSettings)
function getSignInResource(context: TurnContext, settings: OAuthPromptSettings): Promise<SignInUrlResponse>
參數
- context
-
TurnContext
- settings
- OAuthPromptSettings
傳回
Promise<SignInUrlResponse>
getUserToken(TurnContext, OAuthPromptSettings, string)
function getUserToken(context: TurnContext, settings: OAuthPromptSettings, magicCode: string): Promise<TokenResponse>
參數
- context
-
TurnContext
- settings
- OAuthPromptSettings
- magicCode
-
string
傳回
Promise<TokenResponse>
signOutUser(TurnContext, OAuthPromptSettings)
function signOutUser(context: TurnContext, settings: OAuthPromptSettings): Promise<void>
參數
- context
-
TurnContext
- settings
- OAuthPromptSettings
傳回
Promise<void>