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 |
|
| 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 |
傳入至 |
介面
| BeginSkillDialogOptions |
具有 SkillDialog 對話框自變數的類別。 |
| ChoiceFactoryOptions |
用來調整選擇清單格式的其他選項。 |
| Choice |
選項的實例,可用來將選擇轉譯給使用者,或辨識用戶選取的專案。 |
| FindChoicesOptions |
控制 |
| FoundChoice |
|
| FindValuesOptions |
用來控制用戶語句中如何辨識選項的基本搜尋選項。 |
| FoundValue |
內部: |
| SortedValue |
INTERNAL:可以排序且仍然參考其原始位置在來源陣列中的值。
|
| ModelResult |
實體辨識器傳回的外部結果,例如 |
| Token |
|
| Converter |
轉換子會將 物件從某個類型轉換成另一個類型。 |
| DialogConfiguration | |
| DialogEvent | |
| DialogInstance |
包含堆疊上對話框實例的狀態資訊。 |
| DialogTurnResult |
表示對話內容嘗試開始、繼續或作一或多個對話的結果。 |
| DialogState |
包含特定 DialogSet之對話框堆疊狀態的相關信息。 |
| DialogManagerConfiguration | |
| DialogManagerResult | |
| DialogDependencies | |
| ComponentMemoryScopes |
列舉記憶體範圍的介面。 |
| ComponentPathResolvers |
宣告路徑解析程序的介面。 |
| DialogStateManagerConfiguration | |
| PathResolver |
著作權(c) Microsoft公司。 保留所有權利。 根據 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
要搜尋的文字或用戶語句。 對於傳入的「訊息」活動,您可以直接使用 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
要搜尋的文字或用戶語句。 對於傳入的「訊息」活動,您可以直接使用 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>
參數
- 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
- 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>