共用方式為


BotAdapter class

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

備註

Bot 介面卡可封裝驗證處理程序,並可與 Bot 連接器服務相互傳送和接收活動。 當 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>[])

以非同步方式將一組傳出活動傳送至通道伺服器。 這個方法支援架構,並不適合直接針對您的程式碼呼叫。 從 Bot 程式碼使用回合內容的 sendActivitysendActivities 方法。

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>

代表非同步作業的 Promise。

備註

使用下列參數呼叫錯誤處理常式:

名稱 類型 描述
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 的應用程式識別碼。 這個參數會在單一租使用者中忽略 Adapters (Console、Test 等) ,但對多租使用者感知的 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>[])

以非同步方式將一組傳出活動傳送至通道伺服器。 這個方法支援架構,並不適合直接針對您的程式碼呼叫。 從 Bot 程式碼使用回合內容的 sendActivitysendActivities 方法。

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

更新的配接器物件。

備註

中介軟體會在初始化時新增至配接器。 每一回合,配接器都會依您新增的順序呼叫其中介軟體。