BotFrameworkAdapter class
警告
此 API 現已淘汰。
Use CloudAdapter instead.
- Extends
-
BotAdapter
建構函式
| Bot |
建立 BotFrameworkAdapter 類別的新實例。 |
屬性
| is |
用於串流內容,以檢查串流連線是否仍在開啟中,讓 Bot 傳送活動。 |
| Token |
繼承的屬性
| Bot |
|
| Connector |
|
| OAuth |
|
| on |
方法
繼承的方法
建構函式詳細資料
BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)
建立 BotFrameworkAdapter 類別的新實例。
new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)
參數
- settings
-
Partial<BotFrameworkAdapterSettings>
自選。 要用於這個配接器實例的設定。
備註
如果 settings 參數不包含 channelService 或 openIdMetadata 值,建構函式會檢查進程的環境變數是否有這些值。 在 Azure 上佈建 Bot 時,可能會設定這些值,如果是的話,Bot 才能在全域雲端或國家雲端中正常運作。
BotFrameworkAdapterSettings 類別會定義可用的配接器設定。
屬性詳細資料
isStreamingConnectionOpen
用於串流內容,以檢查串流連線是否仍在開啟中,讓 Bot 傳送活動。
boolean isStreamingConnectionOpen
屬性值
boolean
如果串流連線已開啟,則為 True,否則為 false。
TokenApiClientCredentialsKey
TokenApiClientCredentialsKey: symbol
屬性值
symbol
繼承的屬性詳細資料
BotIdentityKey
BotIdentityKey: symbol
屬性值
symbol
繼承自 BotAdapter.BotIdentityKey
ConnectorClientKey
ConnectorClientKey: symbol
屬性值
symbol
繼承自 BotAdapter.ConnectorClientKey
OAuthScopeKey
OAuthScopeKey: symbol
屬性值
symbol
繼承自 BotAdapter.OAuthScopeKey
onTurnError
onTurnError: (context: TurnContext, error: Error) => Promise<void>
屬性值
(context: TurnContext, error: Error) => Promise<void>
繼承自 BotAdapter.onTurnError
方法詳細資料
continueConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
以異步方式繼續與用戶的對話,可能是經過一段時間之後。
function continueConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- reference
-
Partial<ConversationReference>
要繼續之交談的參考。
- logic
-
(context: TurnContext) => Promise<void>
在配接器中間件執行之後呼叫的異步方法。
傳回
Promise<void>
備註
這通常稱為 主動式通知,Bot 可以主動將訊息傳送給交談或使用者,而不需要等待傳入訊息。 例如,Bot 可以使用此方法將通知或優待券傳送給使用者。
若要傳送主動式訊息:
- 從傳入活動儲存 ConversationReference 複本。 例如,您可以將交談參考儲存在資料庫中。
- 呼叫這個方法,以便稍後繼續交談。 使用儲存的參考來存取交談。
- 成功時,配接器會產生 TurnContext 物件,並呼叫
logic函式處理程式。 使用logic函式來傳送主動式訊息。
若要從交談中的任何傳入活動複製參考,請使用 TurnContext.getConversationReference 方法。
這個方法類似於 processActivity 方法。
配接器會建立 TurnContext,並在呼叫 logic 處理程式之前,先透過中間件路由傳送它。 建立的活動會有 『event』 的 類型,以及 'continueConversation' 名稱。
例如:
server.post('/api/notifyUser', async (req, res) => {
// Lookup previously saved conversation reference.
const reference = await findReference(req.body.refId);
// Proactively notify the user.
if (reference) {
await adapter.continueConversation(reference, async (context) => {
await context.sendActivity(req.body.message);
});
res.send(200);
} else {
res.send(404);
}
});
continueConversation(Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
以異步方式繼續與用戶的對話,可能是經過一段時間之後。
function continueConversation(reference: Partial<ConversationReference>, oAuthScope: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- reference
-
Partial<ConversationReference>
(xref:botframework-schema.交談的 ConversationReference)要繼續。
- oAuthScope
-
string
要呼叫的任何傳送活動或函式的預定收件者,以繼續交談。
- logic
-
(context: TurnContext) => Promise<void>
自選。 在配接器中間件執行之後呼叫的異步方法。
傳回
Promise<void>
createConnectorClient(string)
建立連接器用戶端。
function createConnectorClient(serviceUrl: string): ConnectorClient
參數
- serviceUrl
-
string
用戶端的服務URL。
傳回
ConnectorClient
ConnectorClient 實例。
備註
在衍生類別中覆寫此專案,以建立用於單元測試的模擬連接器用戶端。
createConnectorClientWithIdentity(string, ClaimsIdentity)
使用 ClaimsIdentity 建立 ConnectorClient。
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity): Promise<ConnectorClient>
參數
- serviceUrl
-
string
用戶端的服務URL。
- identity
-
ClaimsIdentity
ClaimsIdentity
傳回
Promise<ConnectorClient>
備註
如果 ClaimsIdentity 包含 Skills 要求的宣告,請建立 ConnectorClient 以搭配 Skills 使用。 從 ClaimsIdentity 或實例的認證屬性衍生正確的物件。
createConnectorClientWithIdentity(string, ClaimsIdentity, string)
建立具有 ClaimsIdentity 和明確物件的 ConnectorClient。
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity, audience: string): Promise<ConnectorClient>
參數
- serviceUrl
-
string
用戶端的服務URL。
- identity
-
ClaimsIdentity
ClaimsIdentity
- audience
-
string
ConnectorClient 訊息的收件者。 一般而言,Bot Framework 通道服務或另一個 Bot 的 AppId。
傳回
Promise<ConnectorClient>
備註
如果修剪的物件不是非零長度字串,物件會衍生自 ClaimsIdentity 或實例的 credentials 屬性。
createConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
以異步方式建立並開始與頻道上的使用者交談。
function createConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- reference
-
Partial<ConversationReference>
要建立之交談的參考。
- logic
-
(context: TurnContext) => Promise<void>
在配接器中間件執行之後呼叫的異步方法。
傳回
Promise<void>
代表異步作的承諾
createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)
以異步方式建立並開始與頻道上的使用者交談。
function createConversation(reference: Partial<ConversationReference>, parameters: Partial<ConversationParameters>, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- reference
-
Partial<ConversationReference>
要建立之交談的參考。
- parameters
-
Partial<ConversationParameters>
建立交談時所使用的參數
- logic
-
(context: TurnContext) => Promise<void>
在配接器中間件執行之後呼叫的異步方法。
傳回
Promise<void>
代表異步作的承諾
deleteActivity(TurnContext, Partial<ConversationReference>)
以異步方式刪除現有的活動。 此介面支持架構,並不適合直接為您的程式代碼呼叫。 使用 TurnContext.deleteActivity,從 Bot 程式代碼中刪除活動。
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
參數
- context
-
TurnContext
回合的內容物件。
- reference
-
Partial<ConversationReference>
要刪除之活動的交談參考資訊。
傳回
Promise<void>
備註
並非所有通道都支援這項作業。 針對沒有的通道,此呼叫可能會擲回例外狀況。
deleteConversationMember(TurnContext, string)
以異步方式從目前的交談中移除成員。
function deleteConversationMember(context: TurnContext, memberId: string): Promise<void>
參數
- context
-
TurnContext
回合的內容物件。
- memberId
-
string
要從交談中移除的成員標識碼。
傳回
Promise<void>
備註
從交談中移除成員的身分識別資訊。
並非所有通道都支援這項作業。 針對沒有的通道,此呼叫可能會擲回例外狀況。
emulateOAuthCards(TurnContext | string, boolean)
以異步方式傳送通道的模擬 OAuth 卡片。 這個方法支持架構,並不適合直接為您的程式代碼呼叫。
function emulateOAuthCards(contextOrServiceUrl: TurnContext | string, emulate: boolean): Promise<void>
參數
- contextOrServiceUrl
-
TurnContext | string
模擬器的 URL。
- emulate
-
boolean
true 將仿真的 OAuth 卡片傳送至模擬器;或 false 不要傳送卡片。
傳回
Promise<void>
備註
在 Bot Framework 模擬器中測試 Bot 時,此方法可以模擬 OAuth 卡片互動。
exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)
以異步方式執行令牌交換作業,例如單一登錄。
function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest, appCredentials?: CoreAppCredentials): Promise<TokenResponse>
參數
- context
-
TurnContext
目前與使用者交談回合的內容。
- connectionName
-
string
要使用的驗證連線名稱。
- userId
-
string
將與令牌相關聯的使用者標識碼。
- tokenExchangeRequest
-
TokenExchangeRequest
交換要求詳細數據,可以是要交換的令牌或要交換的 URI。
- appCredentials
-
CoreAppCredentials
自選。 OAuth 的 CoreAppCredentials。
傳回
Promise<TokenResponse>
getAadTokens(TurnContext, string, string[])
以異步方式從令牌伺服器註銷使用者。
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<[key: string]: TokenResponse>
參數
- context
-
TurnContext
回合的內容物件。
- connectionName
-
string
要使用的驗證連線名稱。
- resourceUrls
-
string[]
要為其擷取令牌的資源URL清單。
傳回
Promise<[key: string]: TokenResponse>
依資源 URL TokenResponse 對象的對應。
getAadTokens(TurnContext, string, string[], CoreAppCredentials)
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[], oAuthAppCredentials?: CoreAppCredentials): Promise<[key: string]: TokenResponse>
參數
- context
-
TurnContext
- connectionName
-
string
- resourceUrls
-
string[]
- oAuthAppCredentials
-
CoreAppCredentials
傳回
Promise<[key: string]: TokenResponse>
getActivityMembers(TurnContext, string)
以異步方式列出指定活動的成員。
function getActivityMembers(context: TurnContext, activityId?: string): Promise<ChannelAccount[]>
參數
- context
-
TurnContext
回合的內容物件。
- activityId
-
string
自選。 要取得成員的活動標識碼。 如果未指定,則會使用目前的活動標識符。
傳回
Promise<ChannelAccount[]>
ChannelAccount 的陣列, 特定活動所涉及的用戶物件。
備註
針對參與指定活動的用戶,傳回 ChannelAccount 對象的陣列。
getConversationMembers(TurnContext)
以異步方式列出目前交談的成員。
function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>
參數
- context
-
TurnContext
回合的內容物件。
傳回
Promise<ChannelAccount[]>
目前參與交談之所有使用者 ChannelAccount 對象的陣列。
備註
針對目前參與交談的所有用戶,傳回 ChannelAccount 對象的陣列。
這與 getActivityMembers 不同,因為它會傳回交談的所有成員,而不只是直接參與特定活動的成員。
getConversations(TurnContext | string, string)
針對指定的通道,以異步方式取得此 Bot 參與之交談的頁面。
function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>
參數
- contextOrServiceUrl
-
TurnContext | string
要從通道上交談查詢的通道伺服器 URL 或 TurnContext 物件。
- continuationToken
-
string
自選。 結果上一頁的接續令牌。
請省略此參數或使用 undefined 來擷取結果的第一頁。
傳回
Promise<ConversationsResult>
ConversationsResult 物件,其中包含結果頁面和接續標記。
備註
傳回值的 交談 屬性包含 ConversationMembers 物件的頁面。 每個物件的 識別碼 是 Bot 參與此通道的交談識別碼。 此方法可以從交談內容外部呼叫,因為只需要 Bot 的服務 URL 和認證。
通道批次會產生頁面。 如果結果的 continuationToken 屬性不是空的,則會有更多頁面可供取得。 使用傳回的令牌來取得下一頁的結果。
如果 contextOrServiceUrl 參數是 TurnContext,則會從 contextOrServiceUrl擷取通道伺服器的 URL。活動。serviceUrl。
getSignInLink(TurnContext, string, AppCredentials, string, string)
以異步方式從令牌伺服器取得登入連結,該連結可做為 SigninCard的一部分傳送。
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: AppCredentials, userId?: string, finalRedirect?: string): Promise<string>
參數
- context
-
TurnContext
回合的內容物件。
- connectionName
-
string
要使用的驗證連線名稱。
- oAuthAppCredentials
-
AppCredentials
適用於 OAuth 的 AppCredentials。
- userId
-
string
將與令牌相關聯的使用者標識碼。
- finalRedirect
-
string
OAuth 流程將重新導向至的最後URL。
傳回
Promise<string>
getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: CoreAppCredentials, userId?: string, finalRedirect?: string): Promise<string>
參數
- context
-
TurnContext
- connectionName
-
string
- oAuthAppCredentials
-
CoreAppCredentials
- userId
-
string
- finalRedirect
-
string
傳回
Promise<string>
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)
以異步方式取得要傳送給用戶以進行登入的原始登入資源。
function getSignInResource(context: TurnContext, connectionName: string, userId?: string, finalRedirect?: string, appCredentials?: CoreAppCredentials): Promise<SignInUrlResponse>
參數
- context
-
TurnContext
回合的內容物件。
- connectionName
-
string
要使用的驗證連線名稱。
- userId
-
string
將與令牌相關聯的使用者標識碼。
- finalRedirect
-
string
OAuth 流程將重新導向至的最後URL。
- appCredentials
-
CoreAppCredentials
自選。 OAuth 的 CoreAppCredentials。
傳回
Promise<SignInUrlResponse>
getTokenStatus(TurnContext, string, string)
以異步方式擷取指定使用者每個已設定連線的令牌狀態。
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string): Promise<TokenStatus[]>
參數
- context
-
TurnContext
回合的內容物件。
- userId
-
string
自選。 如果有,要擷取令牌狀態的使用者標識碼。 否則,會使用傳送目前活動之使用者的標識碼。
- includeFilter
-
string
自選。 要包含之連接的逗號分隔清單。 如果存在,includeFilter 參數會限制這個方法傳回的標記。
傳回
Promise<TokenStatus[]>
擷取 TokenStatus 物件。
getTokenStatus(TurnContext, string, string, CoreAppCredentials)
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenStatus[]>
參數
- context
-
TurnContext
- userId
-
string
- includeFilter
-
string
- oAuthAppCredentials
-
CoreAppCredentials
傳回
Promise<TokenStatus[]>
getUserToken(TurnContext, string, string)
以異步方式嘗試擷取登入流程中之使用者的令牌。
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>
參數
- context
-
TurnContext
回合的內容物件。
- connectionName
-
string
要使用的驗證連線名稱。
- magicCode
-
string
自選。 使用者輸入的驗證碼。
傳回
Promise<TokenResponse>
包含使用者令牌的 TokenResponse 物件。
getUserToken(TurnContext, string, string, CoreAppCredentials)
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenResponse>
參數
- context
-
TurnContext
- connectionName
-
string
- magicCode
-
string
- oAuthAppCredentials
-
CoreAppCredentials
傳回
Promise<TokenResponse>
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)
將邏輯函式套用至每個串流要求,以處理 Web 套接字連線。
function process(req: Request, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- socket
-
INodeSocket
對應的 INodeSocket
- head
-
INodeBuffer
對應的 INodeBuffer
- logic
-
(context: TurnContext) => Promise<void>
要套用的邏輯函式
傳回
Promise<void>
代表異步作的承諾。
process(Request, Response, (context: TurnContext) => Promise<void>)
藉由套用邏輯函式來處理 Web 要求。
function process(req: Request, res: Response, logic: (context: TurnContext) => Promise<void>): Promise<void>
參數
- logic
-
(context: TurnContext) => Promise<void>
要套用的邏輯函式
傳回
Promise<void>
代表異步作的承諾。
processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)
以異步方式建立回合內容,並執行傳入活動的中間件管線。
function processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>
參數
- req
- WebRequest
Express 或 Restify 樣式要求物件。
- res
- WebResponse
Express 或 Restify 樣式響應物件。
- logic
-
(context: TurnContext) => Promise<any>
在中間件管線結尾呼叫的函式。
傳回
Promise<void>
備註
這是 Bot 接收傳入訊息的主要方式,並定義交談中的回合。 此方法:
- 剖析並驗證傳入要求。
- 活動會從傳入要求的本文讀取。 如果無法剖析活動,則會傳回錯誤。
- 發件者的身分識別會使用 Bot 的
appId和appPassword驗證為模擬器或有效的Microsoft伺服器。 如果未驗證寄件者的身分識別,則會拒絕要求。
- 為接收的活動建立 TurnContext 物件。
- 這個物件會包裝 可撤銷的 Proxy。
- 當這個方法完成時,就會撤銷 Proxy。
- 透過配接器的中間件管線傳送回合內容。
- 將回合內容傳送至
logic函式。- Bot 此時可能會執行其他路由或處理。
傳回承諾(或提供
async處理程式),會導致配接器等待任何異步作完成。 -
logic函式完成之後,會解析中間件所設定的承諾鏈結。
- Bot 此時可能會執行其他路由或處理。
傳回承諾(或提供
提示
如果您在 Bot 的控制台輸出中看到錯誤 TypeError: Cannot perform 'set' on a proxy that has been revoked,可能是使用異步函式而不使用 await 關鍵詞。 請確定所有異步函式都使用 await!
中間件可以 回合的短途運算。 發生這種情況時,不會呼叫後續中間件和 logic 函式;不過,在這個點之前的所有中間件仍會執行到完成。
如需中間件管線的詳細資訊,請參閱 bot 如何運作 和 中間件 文章。
使用配接器的 使用 方法,將中間件新增至配接器。
例如:
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
adapter.processActivity(req, res, async (context) => {
// Process any messages received
if (context.activity.type === ActivityTypes.Message) {
await context.sendActivity(`Hello World`);
}
});
});
processActivityDirect(Activity, (context: TurnContext) => Promise<any>)
以異步方式建立回合內容,並執行傳入活動的中間件管線。
function processActivityDirect(activity: Activity, logic: (context: TurnContext) => Promise<any>): Promise<void>
參數
- activity
-
Activity
要處理的活動。
- logic
-
(context: TurnContext) => Promise<any>
在中間件管線結尾呼叫的函式。
傳回
Promise<void>
備註
這是 Bot 接收傳入訊息的主要方式,並定義交談中的回合。 此方法:
- 為接收的活動建立 TurnContext 物件。
- 這個物件會包裝 可撤銷的 Proxy。
- 當這個方法完成時,就會撤銷 Proxy。
- 透過配接器的中間件管線傳送回合內容。
- 將回合內容傳送至
logic函式。- Bot 此時可能會執行其他路由或處理。
傳回承諾(或提供
async處理程式),會導致配接器等待任何異步作完成。 -
logic函式完成之後,會解析中間件所設定的承諾鏈結。
- Bot 此時可能會執行其他路由或處理。
傳回承諾(或提供
中間件可以 回合的短途運算。 發生這種情況時,不會呼叫後續中間件和 logic 函式;不過,在這個點之前的所有中間件仍會執行到完成。
如需中間件管線的詳細資訊,請參閱 bot 如何運作 和 中間件 文章。
使用配接器的 使用 方法,將中間件新增至配接器。
processRequest(IReceiveRequest)
檢查要求的有效性,並嘗試將它對應到正確的虛擬端點,然後產生並傳回適當的回應。
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
參數
- request
-
IReceiveRequest
來自已連線通道的 ReceiveRequest。
傳回
Promise<StreamingResponse>
BotAdapter 所建立的回應,要傳送至源自要求的用戶端。
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 活動,這會包含所傳遞訊息的標識碼。
signOutUser(TurnContext, string, string)
以異步方式從令牌伺服器註銷使用者。
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
參數
- context
-
TurnContext
回合的內容物件。
- connectionName
-
string
要使用的驗證連線名稱。
- userId
-
string
要註銷的使用者標識碼。
傳回
Promise<void>
signOutUser(TurnContext, string, string, CoreAppCredentials)
function signOutUser(context: TurnContext, connectionName?: string, userId?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<void>
參數
- context
-
TurnContext
- connectionName
-
string
- userId
-
string
- oAuthAppCredentials
-
CoreAppCredentials
傳回
Promise<void>
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>
Promise,代表作業的 ResourceResponse。
備註
並非所有通道都支援這項作業。 針對沒有的通道,此呼叫可能會擲回例外狀況。
useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)
將處理程式連線至命名管道伺服器,並開始接聽傳入要求。
function useNamedPipe(logic: (context: TurnContext) => Promise<any>, pipeName?: string, retryCount?: number, onListen?: () => void): Promise<void>
參數
- logic
-
(context: TurnContext) => Promise<any>
將處理傳入要求的邏輯。
- pipeName
-
string
建立伺服器時要使用的命名管道名稱。
- retryCount
-
number
嘗試系結傳入和傳出管道的次數
- onListen
-
() => void
當伺服器同時接聽傳入和傳出管道時引發的選擇性回呼
傳回
Promise<void>
useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)
處理初始要求,以透過串流伺服器建立長期連線。
function useWebSocket(req: WebRequest, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<any>): Promise<void>
參數
- req
- WebRequest
連接要求。
- socket
-
INodeSocket
Bot(伺服器)與通道/呼叫端之間的原始套接字連線(用戶端)。
- head
-
INodeBuffer
升級數據流的第一個封包。
- logic
-
(context: TurnContext) => Promise<any>
處理 WebSocket 連線存留期傳入串流要求的邏輯。
傳回
Promise<void>
繼承的方法的詳細資料
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>
代表異步作業的承諾
繼承自 BotAdapter.continueConversationAsync
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>
代表異步作業的承諾
繼承自 BotAdapter.continueConversationAsync
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>
代表異步作業的承諾
繼承自 BotAdapter.continueConversationAsync
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 活動傳送至邏輯方法。
如果交談是使用指定的使用者建立的,活動的交談標識碼將會包含新交談的標識碼。
繼承自 BotAdapter.createConversationAsync
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
更新的配接器物件。
備註
中間件會在初始化時新增至配接器。 每回合,配接器都會依您新增它的順序來呼叫其中間件。
繼承自 BotAdapter.use