共用方式為


BotAdapter class

定義可將 Bot 連線至服務端點之 Bot 配接器的核心行為。

備註

Bot 配接器會封裝驗證程式,並將活動傳送至 Bot Connector Service 並從中接收活動。 當 Bot 收到活動時,配接器會建立回合內容物件、將它傳遞給 Bot 應用程式邏輯,並將回應傳回給使用者的通道。

配接器會透過 Bot 中間件管線將傳入的活動處理並導向至 Bot 邏輯,然後再次返回。 當每個活動進出 Bot 時,每個中間件都可以在 Bot 邏輯執行前後檢查或處理活動。 使用 使用 方法,將 中間件 物件新增至配接器的中間件集合。

如需詳細資訊,請參閱 Bot 如何運作中間件文章。

屬性

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

取得或設定錯誤處理程式,這個處理程式可以攔截中間件或應用程式中的例外狀況。 設定錯誤處理程式,以攔截中間件或應用程式中的例外狀況。

方法

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

在指定的通道上建立交談。

deleteActivity(TurnContext, Partial<ConversationReference>)

以異步方式刪除現有的活動。 此介面支持架構,並不適合直接為您的程式代碼呼叫。 使用 TurnContext.deleteActivity,從 Bot 程式代碼中刪除活動。

sendActivities(TurnContext, Partial<Activity>[])

以異步方式將一組傳出活動傳送至通道伺服器。 這個方法支持架構,並不適合直接為您的程式代碼呼叫。 使用回合內容的 sendActivity,或從 Bot 程式代碼 sendActivities 方法。

updateActivity(TurnContext, Partial<Activity>)

以異步方式將先前的活動取代為更新的版本。 此介面支持架構,並不適合直接為您的程式代碼呼叫。 使用 TurnContext.updateActivity,從 Bot 程式代碼更新活動。

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

將中間件新增至配接器的管線。

屬性詳細資料

BotIdentityKey

BotIdentityKey: symbol

屬性值

symbol

ConnectorClientKey

ConnectorClientKey: symbol

屬性值

symbol

OAuthScopeKey

OAuthScopeKey: symbol

屬性值

symbol

onTurnError

取得或設定錯誤處理程式,這個處理程式可以攔截中間件或應用程式中的例外狀況。 設定錯誤處理程式,以攔截中間件或應用程式中的例外狀況。

(context: TurnContext, error: Error) => Promise<void> onTurnError

屬性值

(context: TurnContext, error: Error) => Promise<void>

代表異步作業的承諾。

備註

錯誤處理程式會使用這些參數呼叫:

名字 類型 描述
context TurnContext 回合的內容物件。
error Error 擲回 Node.js 錯誤。

方法詳細資料

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>

參數

reference

Partial<ConversationReference>

要繼續之交談的參考。

logic

(revocableContext: TurnContext) => Promise<void>

在配接器中間件執行之後呼叫的異步方法。

傳回

Promise<void>

備註

這通常稱為 主動式通知,Bot 可以主動將訊息傳送給交談或使用者,而不需要等待傳入訊息。 例如,Bot 可以使用此方法將通知或優待券傳送給使用者。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

參數

claimsIdentity

ClaimsIdentity

交談 ClaimsIdentity

reference

Partial<ConversationReference>

部分 ConversationReference 至交談以繼續。

logic

(context: TurnContext) => Promise<void>

在配接器中間件執行之後呼叫的異步方法。

傳回

Promise<void>

代表異步作業的承諾

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>

參數

claimsIdentity

ClaimsIdentity

交談 ClaimsIdentity

reference

Partial<ConversationReference>

部分 ConversationReference 至交談以繼續。

audience

string

值,表示主動式訊息的收件者。

logic

(context: TurnContext) => Promise<void>

在配接器中間件執行之後呼叫的異步方法。

傳回

Promise<void>

代表異步作業的承諾

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

以異步方式繼續與用戶的對話,可能是經過一段時間之後。

function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

參數

botAppId

string

Bot 的應用程式識別碼。 單一租用戶中會忽略此參數配接器(控制台、測試等),但對於多租使用者感知的 BotFrameworkAdapter 至關重要。

reference

Partial<ConversationReference>

部分 ConversationReference 至交談以繼續。

logic

(context: TurnContext) => Promise<void>

在配接器中間件執行之後呼叫的異步方法。

傳回

Promise<void>

代表異步作業的承諾

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

在指定的通道上建立交談。

function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>

參數

_botAppId

string

Bot 的應用程式識別碼。

_channelId

string

通道的標識碼。

_serviceUrl

string

通道的標識碼。

_audience

string

連接器的物件。

_conversationParameters

ConversationParameters

用來建立交談的交談資訊

_logic

(context: TurnContext) => Promise<void>

要呼叫所產生 Bot 回合的方法。

傳回

Promise<void>

代表異步作的承諾

備註

若要開始交談,您的 Bot 必須知道其帳戶資訊和該通道上的用戶帳戶資訊。 大部分_channels只支援起始直接訊息(非群組)交談。

配接器會嘗試在通道上建立新的交談,然後透過其中間件管線將 conversationUpdate 活動傳送至邏輯方法。

如果交談是使用指定的使用者建立的,活動的交談標識碼將會包含新交談的標識碼。

deleteActivity(TurnContext, Partial<ConversationReference>)

以異步方式刪除現有的活動。 此介面支持架構,並不適合直接為您的程式代碼呼叫。 使用 TurnContext.deleteActivity,從 Bot 程式代碼中刪除活動。

function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>

參數

context
TurnContext

回合的內容物件。

reference

Partial<ConversationReference>

要刪除之活動的交談參考資訊。

傳回

Promise<void>

備註

並非所有通道都支援這項作業。 針對沒有的通道,此呼叫可能會擲回例外狀況。

sendActivities(TurnContext, Partial<Activity>[])

以異步方式將一組傳出活動傳送至通道伺服器。 這個方法支持架構,並不適合直接為您的程式代碼呼叫。 使用回合內容的 sendActivity,或從 Bot 程式代碼 sendActivities 方法。

function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>

參數

context
TurnContext

回合的內容物件。

activities

Partial<Activity>[]

要傳送的活動。

傳回

Promise<ResourceResponse[]>

ResourceResponse 的數位

備註

活動會依接收的順序逐一傳送。 系統會針對每個傳送的活動傳回回應物件。 針對 message 活動,這會包含所傳遞訊息的標識碼。

updateActivity(TurnContext, Partial<Activity>)

以異步方式將先前的活動取代為更新的版本。 此介面支持架構,並不適合直接為您的程式代碼呼叫。 使用 TurnContext.updateActivity,從 Bot 程式代碼更新活動。

function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>

參數

context
TurnContext

回合的內容物件。

activity

Partial<Activity>

要取代之活動的更新版本。

傳回

Promise<ResourceResponse | void>

備註

並非所有通道都支援這項作業。 針對沒有的通道,此呼叫可能會擲回例外狀況。

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

將中間件新增至配接器的管線。

function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this

參數

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

要加入的中間件或中間件處理程式。

傳回

this

更新的配接器物件。

備註

中間件會在初始化時新增至配接器。 每回合,配接器都會依您新增它的順序來呼叫其中間件。