共用方式為


botbuilder package

類別

ActionSet

實作可系結至對話框的具名動作支援,以處理來自使用者的全域語句,例如「說明」或「取消」。 動作會隨著對話的一部分推入和移出對話堆疊,讓這些接聽程式在對話進行時進入和移出範圍。 您也可以將名為 的動作系結至按鈕,讓 Bot 回應可能已從畫面捲動的卡片上的按鈕點選。

AnimationCard

簡化建置動畫卡片的卡片產生器類別。

AudioCard

簡化建置媒體卡片的卡片產生器類別。

BotConnectorBot

已被取代 請改用 UniversalBotChatConnector

CardAction

建立器類別,以簡化將動作新增至卡片。

CardImage

建立器類別可簡化將影像新增至卡片。

CardMedia

卡片的媒體實體定義

ChatConnector

透過 Bot Framework 將 UniversalBot 連線到多個通道。

CommandDialog

已被取代 請改用 IntentDialog

ConsoleConnector

透過主控台視窗將 UniversalBot 連線到命令行。

Dialog

所有對話框的基類。 對話框是 BotBuilder 架構的核心元件。 Bot 會使用對話框來管理與使用者任意複雜的交談。

DialogAction

對話框動作提供靜態快捷方式來實作一般動作。 它們也會實作具名動作的支持,這些動作可以系結至對話框,以處理來自使用者的全域語句,例如「說明」或「取消」。 動作會隨著對話的一部分推入和移出對話堆疊,讓這些接聽程式在對話進行時進入和移出範圍。 您也可以將名為 的動作系結至按鈕,讓 Bot 回應可能已從畫面捲動的卡片上的按鈕點選。

EntityRecognizer

用來剖析 & 解析從 LUIS 收到的日期時間等常見實體的公用程式類別。

Fact

建立器類別,以簡化建立卡片的事實清單,例如收據。

HeroCard

簡化建置主圖卡片的卡片產生器類別。 主圖卡片包含與縮圖卡片相同的資訊,只是卡片影像具有較大型的更明顯版面配置。

IntentDialog

識別使用者意圖,並選擇性地從使用者語句擷取實體。

IntentRecognizer

所有核心辨識器的基類。 允許條件式執行辨識器,並在篩選已辨識意圖後執行。 衍生類別應該覆寫抽象 onRecognize() 方法。

IntentRecognizerSet

跨一組意圖辨識器同盟 recognize() 呼叫。

Keyboard

簡化建置鍵盤卡片的卡片產生器類別。

Library

用於路由之相關對話的連結庫。 連結庫可以鏈結在一起,以啟用複雜 Bot 的開發。 UniversalBot 類別本身是構成此鏈結根目錄的連結庫。 您可以藉由建立新的連結庫實例和新增對話框,來開發可重複使用元件的連結庫,就像您將一樣。 您的連結庫應該具有對應至連結庫網站或 NPM 模組名稱的唯一名稱。 接著,Bot 只要使用 UniversalBot.library(),將元件庫實例新增至其 Bot,即可重複使用您的連結庫。 如果您的連結庫本身相依於其他連結庫,您應該使用 Library.library() 將連結庫新增至連結庫作為相依性,。 您可以將版本號碼新增至連結庫名稱,輕鬆地管理連結庫的多個版本。

若要在連結庫 Bot 中叫用對話,則必須呼叫 session.beginDialog(),其格式為 ':' 的完整對話標識符。 您通常會藉由從其模塊公開函式來啟動對話,以隱藏開發人員的這個。 因此,呼叫類似 myLib.someDialog(session, { arg: '' }); 的東西最終會在幕後呼叫 session.beginDialog('myLib:someDialog', args);

值得注意的是,對話一律會在目前的對話框中叫用,因此一旦您從連結庫的對話框內,就不需要在每個 beginDialog() 前面加上您的連結庫名稱。 只有在從某個連結庫內容到另一個連結庫內容時,才需要包含連結庫名稱前置詞。

LocalizedRegExpRecognizer

使用架構當地語系化系統擷取當地語系化正則表達式的 RegExpRecognizer 版本。 應該提供 index.json 檔案中的查閱索引鍵,並在收到新地區設定的訊息時,辨識器會擷取本地化的表達式,並建立新的不區分大小寫 RegExp 並用來辨識意圖。 連結庫可以使用這項功能,讓 Bot 覆寫其預設比對表達式。 只要使用連結庫的命名空間來建立辨識器的實例,Bot 開發人員就可以在其地區設定目錄中使用 <namespace>.json 檔案來自定義比對表達式。

LuisDialog

已淘汰 請改用 LuisRecognizer 搭配 IntentDialog

LuisRecognizer

使用 Microsofts Language Understanding Intelligent Service (LUIS) 偵測使用者意圖的意圖辨識器外掛程式 多個 LUIS 模型的服務 URL 可以傳入以支援跨多種語言的辨識。

MediaCard

簡化建置媒體卡片的卡片產生器類別。

MemoryBotStorage

儲存使用者 & 工作階段狀態資料之內存記憶體實作中的預設值。

Message

可簡化使用附件建置複雜訊息的訊息產生器類別。

Middleware
OAuthCard

簡化建置 oauth 卡片的卡片產生器類別。

Prompt

內建提示的基類,可用來建置新的自定義提示。 Prompt 類別提供提示/重新提示使用者的基本邏輯,並提供一組可延伸的攔截,以自定義使用者回復的提示辨識,以及傳送給使用者的輸出。 提示應該一律至少有一個 onRecognize() 處理程式已註冊,而且支援新增任意數目的 相符專案()相符專案Any() 處理程式,這些處理程式可用來將特殊使用者起始的命令新增至提示。 例如,內建提示會新增 matches('BotBuilder.RepeatIntent') 以接聽使用者要求重複提示,導致提示再次傳送其初始提示。

PromptAttachment

可自定義的附件提示。

PromptChoice

可自定義的選擇提示。

PromptConfirm

可自定義的確認提示。

PromptNumber

可自定義的確認提示。

PromptText

可自定義的文字提示。

PromptTime

可自定義的時間提示。

ReceiptCard

簡化建置收據卡片的卡片產生器類別。

ReceiptItem

建立器類別,以簡化將專案新增至收據卡片。

RegExpRecognizer

使用正則表達式偵測使用者意圖的意圖辨識器外掛程式。 您可以傳入多個運算式,以支援跨多種語言的辨識。

RemoteSessionLogger

使用偵錯事件將會話活動記錄至遠端端端點。 當模擬器連線到 Bot 時,會自動使用遠端調試程式。 非模擬器通道可以藉由將模擬器會話的位址儲存至 session.privateConversationData["BotBuilder.Data.DebugSession"],將其活動串流至模擬器。

Session

管理與使用者的 Bot 交談。

SessionLogger

用來將會話活動記錄到主控台的預設工作階段記錄器。

SigninCard

簡化建置登入卡片的卡片產生器類別。

SimpleDialog

允許建立以簡單關閉為基礎的自定義對話。 這適用於您想要動態對話流程的情況,或您有一個狀況,但無法很好地對應至使用瀑布的情況。 要記住的事項:

  • 您的對話框關閉可以在兩個不同的內容中呼叫,您可能需要進行測試。 當使用者傳送對話時,系統將會如預期般呼叫,但如果您從關閉時呼叫另一個提示或對話框,則會在第二次呼叫提示/對話的結果。 您通常會藉由檢查 args.resumed 屬性是否存在,來測試此第二個案例。 請務必避免讓自己進入無限迴圈,這很容易做到。
  • 不同於瀑布式,您的對話不會自動結束。 在您呼叫 session.endDialog() 之前,它會保持作用中的對話方塊。
SimplePromptRecognizer

從 v3.8 起,已過時 不再支援。 請改用自定義提示。

SuggestedActions

建立器類別,將建議的動作新增至訊息

TextBot

已被取代的 會改用 UniversalBotConsoleConnector

ThumbnailCard

簡化建置縮圖卡片的卡片產生器類別。

UniversalBot

管理 Bot 與跨多個通道的使用者交談。

VideoCard

簡化建置視訊卡的卡片產生器類別。

WaterfallDialog

允許建立以瀑布為基礎的自定義對話。

介面

IActionRouteData

傳遞至觸發動作的自變數。

IAddress

事件的位址路由資訊。 位址是雙向的,這表示它們可以用來處理傳入和傳出事件。 它們也是連接器的特定意義,即 連接器 可以自由地將自己的欄位新增至位址。 若要將 主動式訊息 傳送給使用者 Bot,應從收到的 訊息儲存位址。 視通道位址而定,Bot 應該定期更新為指定使用者儲存的位址。

IAnimationCard

動畫卡片的介面定義

IAttachment

許多傳訊通道都提供附加更豐富物件的能力。 Bot Builder 可讓您以跨通道方式表達這些附件,連接器 會盡最大努力使用通道原生建構來轉譯附件。 如果您想要進一步控制訊息的通道轉譯,您可以使用 IEvent.sourceEvent 來提供使用通道原生架構的附件。 可以傳送的附件類型會依通道而有所不同,但這些是基本類型:

  • 媒體和檔案: 基本檔案可以藉由將 contentType 設定為檔案的 MIME 類型,然後在 contentUrl 中傳遞檔案的連結來傳送。
  • 卡片: 一組豐富的視覺效果卡片,可以將 contentType 設定為卡片類型,然後在 內容中傳遞卡片的 JSON。 如果您使用其中一個豐富的卡片產生器類別,例如 HeroCard 附件會自動為您填入。
IAudioCard

音訊卡的介面定義

IBeginDialogActionOptions

定義 beginDialogAction()時傳遞的選項。

IBotStateData

導出的 Bot 狀態數據。

IBotStateDataResult

ChatConnector.exportBotStateData()傳回的結果物件。

IBotStorage

UniversalBot 所使用的可取代儲存系統。

IBotStorageContext

傳遞至 IBotStorage 呼叫的內容物件。

IBotStorageData

保存至 IBotStorage 的數據值。

ICancelActionOptions

定義 cancelAction()時傳遞的選項。

ICardAction

點選卡片、按鈕或影像時,應該執行的動作。

ICardImage

卡片上的影像。

ICardMediaUrl

描述卡片媒體的 URL 資訊

IChatConnectorAddress

ChatConnector 特定位址。

IChatConnectorEndpoint

用來設定 ChatConnector 實例中各種端點的選項。 這不應該變更,而且通常不是由 IChatConnectorSettings 中的開發人員提供。 相反地,IChatConnectorSettings“stateEndpoint” 和 “openIdMetadata” 中的兩個屬性應該在那裡變更。

IChatConnectorSettings

用來初始化 ChatConnector 實例的選項。

IChoice

可傳遞至 Prompts.choice() 或 [PromptRecognizers.recognizeChoices()][/en-us/node/builder/chat-reference/classes/botbuilder_d.promptrecognizers#recognizechoices]。

IConnector

由 UniversalBot 的連接器外掛程式實作。

IContactRelationUpdate

使用者已更新其聯繫人清單。 /** 使用者已更新其聯繫人清單。

IConversationMembers

交談中的成員清單。

IConversationUpdate

交談的屬性已變更。

IConversationsResult

ChatConnector.getConversations()傳回的結果物件。

IDefaultLocalizerSettings

用來初始化 ILocalizer 實作的設定。

IDialogActionOptions

定義對話動作時傳遞的選項。

IDialogResult

子對話透過對 session.endDialog() 的呼叫,傳回給其父代的結果。

IDialogState

會話對話堆疊上的專案。

IDialogVersionOptions

傳遞至中間件.dialogVersion() 的選項。

IDialogWaterfallStep

傳遞為步驟的函式簽章,DialogAction.waterfall()。 瀑布圖可讓您使用一連串的問題提示使用者提供資訊。 瀑布的每個步驟都可以執行其中一個內建 提示、呼叫 session.beginDialog()來啟動新的對話框,然後使用 skip()手動移至瀑布的下一個步驟,或終止瀑布。

從瀑布步驟呼叫對話或內建提示時,對話或提示的結果會透過 results 參數傳遞至瀑布的下一個步驟。 使用者可以說「別不介意」等專案取消內建提示,因此您應該先檢查是否有 results.response,再繼續。 查看傳回 results 的 程式代碼,來判斷瀑布繼續執行的原因。resumed。

您可以使用傳入的 skip() 函式,手動前進到瀑布的下一個步驟。 使用 IDialogResult 呼叫 skip({ response: "some text" }) 可讓您更準確地模擬內建提示的結果,並簡化整體瀑布邏輯。

您可以使用呼叫 skip() 或直接不啟動另一個提示或對話,提早終止瀑布。

注意:如果您從最後一個步驟呼叫提示或對話框, 瀑布有隱藏的最後一個步驟,這會自動結束目前的對話框。 當您有深層對話堆疊,而且想要從堆疊上最後一個子系呼叫會話.endDialog() ,以結束整個堆棧,這非常有用。 最後一個子系的關閉會觸發其所有父系移至這個隱藏步驟,而這個隱藏步驟會串聯堆棧的關閉。 這通常是想要的行為,但如果您想要避免或將它停止在中間的某個地方,您需要將步驟新增至瀑布結尾,不執行任何動作或呼叫類似 session.send() 之類的專案, 不會向前推進瀑布。

IDisambiguateChoices

路由選擇傳遞至 Prompts.disambate()。 地圖的索引鍵應該是要向用戶顯示的當地語系化標籤,而值應該是用戶選擇時要選取的路由。 您可以傳遞路由 null,讓使用者選擇取消。

IDisambiguateRouteHandler

傳遞至 UniversalBot.onDisambiguateRoute() 的自定義路由釐清邏輯

IEntity

已辨識的實體。

IEvent

從或傳送至來源的事件。

IEventMiddleware

連結 'receive' 或 'send' 事件的中間件片段函式簽章。

IFact

卡片上顯示的事實,例如 收據

IFindActionRouteContext

傳遞至 ActionSet.findActionRoutes()的內容。

IFindMatchResult

從 EntityRecognizer.findBestMatch() 或 EntityRecognizer.findAllMatches() 呼叫傳回的結果。

IFindRoutesHandler

傳遞至 Library.onFindRoutes() 的自定義路由搜尋邏輯

IFirstRunOptions

傳遞至中間件.firstRun() 的選項。

IIdentity

代表使用者、Bot 或交談。

IIntent

已辨識的意圖。

IIntentDialogOptions

用來設定 IntentDialog的選項。

IIntentRecognizer

意圖辨識器外掛程式所實作的介面,例如 LuisRecognizer 類別。

IIntentRecognizerResult

意圖辨識器傳回的結果。

IIntentRecognizerSetOptions

用來設定 IntentRecognizerSet的選項。

IIsAttachment

由可轉換成附件的類別實作。

IIsCardAction

由可轉換成卡片動作的類別實作。

IIsCardImage

由可轉換成卡片影像的類別實作。

IIsCardMedia

可以轉換成卡片媒體的實體

IIsFact

由可轉換成事實的類別實作。

IIsMessage

由可轉換成 IMessage 的類別實作,例如訊息 產生器類別

IIsReceiptItem

由可轉換成收據項目的類別實作。

IIsSuggestedActions

由可轉換成建議動作的類別實作

ILocalizer

外掛程式,用於將 Bot 傳送給使用者的訊息當地語系化。

ILuisModelMap

要用於 LuisRecognizer 之 LUIS 服務 URL 的每個/本機對應。

IMediaCard

泛型 MediaCard 的介面定義,其具體形式可以是音訊、動畫或視訊卡

IMediaEventValue

媒體事件的補充參數。

IMessage

使用者與 Bot 之間傳送的聊天訊息。 從 Bot 到使用者的訊息有兩種類型:

  • 回應式訊息 是從 Bot 傳送至使用者的訊息,以回復來自使用者的傳入訊息。
  • 主動式訊息 是從 Bot 傳送給使用者的訊息,以回應某些外部事件,例如警示觸發。

在反應式案例中,您應該將 位址 字段從傳入訊息複製到傳出訊息(如果您使用 Message builder 類別,並以 會話初始化, 這會自動發生),然後設定 文字附件。 針對主動式訊息,您需要將 位址 從傳入訊息儲存到某個位置的外部記憶體。 然後,您可以將此傳入 UniversalBot.beginDialog(),或將它複製到傳遞至 UniversalBot.send()的傳出訊息。

使用傳入位址物件撰寫訊息給使用者時,預設會在目前交談的內容中傳送回復給使用者。 某些通道允許開始與用戶進行新的交談。 若要開始與使用者的新主動式交談,只需從地址對象中刪除 交談 字段,再撰寫傳出訊息。

IMessageOptions

選擇性訊息屬性,可傳送至提示或 session.say() 等項目,

IMessageReaction

訊息反應物件。

IMessageUpdate

訊息的屬性已變更。

IMiddlewareMap

可在呼叫 UniversalBot.use()註冊的中間件勾點對應。

IOAuthCard

表示 OAuthCard 的介面。 卡片,表示透過 OAuth 執行登入要求

IPagedMembersResult

ChatConnector.getConversationPagedMembers()傳回的結果物件。

IPromptArgs

已淘汰 新的提示系統只會使用 IPromptOptions。

IPromptAttachmentFeatures

PromptAttachment 類別的選用功能。

IPromptAttachmentOptions

根據 PromptAttachment 類別,session.beginDialog() 呼叫自定義提示中傳遞至 Prompts.attachment() 的選項。

IPromptAttachmentResult

強型別的附件提示結果。

IPromptChoiceFeatures

PromptChoice 類別的選用功能。

IPromptChoiceOptions

傳遞至 Prompts.choice() 的選項session.beginDialog() 或根據 PromptChoice 類別呼叫自定義提示。

IPromptChoiceResult

強類型選擇提示結果。

IPromptConfirmResult

強型別確認提示結果。

IPromptContext

追蹤 提示字元的內容資訊,。 這項資訊可以透過 session.dialogData在提示字元中存取。

IPromptFeatures

建立自訂 提示時應啟用/停用的選擇性功能

IPromptNumberOptions

根據 PromptNumber 類別,session.beginDialog() 呼叫自定義提示中傳遞至 Prompts.number() 的選項。

IPromptNumberResult

強型別的數位提示結果。

IPromptOptions

傳遞至 內建提示的選項

IPromptRecognizeChoicesOptions

傳遞至 promptRecognizers.recognizeChoices() 的選項

IPromptRecognizeNumbersOptions

傳遞至 PromptRecognizers.recognizeNumbers() 的選項

IPromptRecognizeTimesOptions

傳遞至 PromptRecognizers.recognizeTimes() 的選項

IPromptRecognizeValuesOptions

傳遞至 PromptRecognizers.recognizeValues() 的選項

IPromptRecognizer

從 v3.8 起,已過時 不再支援。 請改用自定義提示。

IPromptRecognizerArgs

從 v3.8 起,已過時 不再支援。 請改用自定義提示。

IPromptRecognizerResult

從 IPromptRecognizer 傳回的結果。

IPromptResult

系統提示字元傳回的對話框結果。

IPromptTextFeatures

PromptText 類別的選用功能。

IPromptTextOptions

根據 PromptText 類別,session.beginDialog() 呼叫自定義提示中傳遞至 Prompts.text() 的選項。

IPromptTextResult

強型別文字提示結果。

IPromptTimeResult

強型別的時間提示結果。

IPromptsOptions

從 v3.8 起,已過時 不再支援。 請改用自定義提示。

IReceiptCard

向用戶顯示他們購買或計劃購買的項目的豐富收據。

IReceiptItem

收據內的個別專案,

IRecognizeContext

傳遞至各種辨識方法之已接收訊息的內容。

IRecognizeDialogContext

傳遞至 Dialog.recognize()的內容。

IRecognizeResult

來自 recognize() 函式呼叫的結果。 實作可以自由地將任何其他屬性新增至結果。

IRegExpMap

要用於 RegExpRecognizer 之正則表達式的每個/本機對應。

IRouteResult

Library.findRoutes() 傳回的候選路由

ISelectRouteHandler

傳遞至 Library.onSelectRoute()的自定義路由搜尋邏輯。

ISemanticAction

表示程式設計動作的參考。

ISessionMiddleware

連結 'botbuilder' 事件之中間件的函式簽章。

ISessionOptions

傳遞至會話建構函式的選項。

ISessionState

用來追蹤交談對話堆疊的持續性會話狀態。

ISigninCard

向用戶顯示登入卡片和按鈕。 某些通道可能會選擇將此轉譯為文字提示,並連結以按兩下。

ISourceEventMap

要傳送之自定義事件數據的每個/來源對應。

IStartConversationAddress

可透過位址傳入的其他屬性,UniversalBot.beginDialog()

ISuggestedActions

傳送給用戶的建議動作,並顯示為快速回復。 建議的動作只會顯示在支持建議動作的通道上。

ITextHighlight

代表 TextHighlight 的介面。 是指另一個字段內內容的子字串。

IThumbnailCard

使用較小的縮圖版面配置或較大的主圖版面配置向用戶顯示卡片(附件 contentType 決定哪一個)。 所有卡片欄位都是選擇性的,因此此卡片可用來指定某些頻道上的鍵盤等專案。 某些通道可能會選擇轉譯卡片的較低逼真度版本,或使用替代表示法。

ITokenResponse

表示 TokenResponse 的介面。 包含使用者令牌的回應

ITranscript

表示歷史活動的介面。

ITriggerActionOptions

定義 triggerAction()時傳遞的選項。

IUniversalBotSettings

用來初始化 UniversalBot 實例的選項。

IVideoCard

視頻卡的介面定義

IWatchableHandler

用來擷取所監看變數值的函式。 傳遞至 Session.watchable()

類型別名

AttachmentType

某些方法可以採用 JSON 格式的 IAttachment,或是實作 IIsAttachment的各種卡片產生器類別。

MatchType

支援比對用戶語句的規則。

  • {RegExp} - 正則表示式將用來比對用戶語句。
  • {string} - 從辨識器傳回的具名意圖將用來比對用戶語句。
  • {(RegExp|string)[]} - 可以傳遞正則表示式或具名意圖的陣列,以符合使用者語句的可能方式。 產生最高分數的規則(最佳比對)將用於評分目的。
MessageType

可傳送給使用者的訊息型提示。

  • {IMessage} - 訊息,以傳送使用 JSON 表示的使用者。 郵件可以包含附件和建議的動作。 並非所有通道原生都支援所有訊息屬性,但大部分通道都會關閉轉譯不支援的欄位。
  • {IIsMessage} - Message 產生器類別的實例。 這個類別有助於當地語系化您的訊息,並提供協助程式來協助格式化郵件的文字部分。
TextOrMessageType

可傳送給使用者之可能提示的彈性範圍。

  • {string} - 傳送使用者的簡單訊息。
  • {string[]} - 傳送使用者之可能訊息的陣列。 隨機選擇一個。
  • {IMessage} - 訊息,以傳送使用 JSON 表示的使用者。 郵件可以包含附件和建議的動作。 並非所有通道原生都支援所有訊息屬性,但大部分通道都會關閉轉譯不支援的欄位。
  • {IIsMessage} - Message 產生器類別的實例。 這個類別有助於當地語系化您的訊息,並提供協助程式來協助格式化郵件的文字部分。
TextType

可傳送給使用者的文字型提示。

  • {string} - 傳送使用者的簡單訊息。
  • {string[]} - 傳送使用者之可能訊息的陣列。 隨機選擇一個。
ValueListType

文字值的清單。 這些值可以表示為管道分隔字串,例如 「value1|value2|value3」 或簡單的值陣列。

列舉

ListStyle

要轉譯 PromptType.choice 提示的清單類型。

PromptType

叫用的提示類型。

RecognizeMode

控制用戶文字語句的 IntentDialogs 處理。

RecognizeOrder

應該評估 IntentDialogs 辨識器的順序。

ResumeReason

繼續對話的原因碼。