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
備註
在衍生類別中覆寫此選項,以建立模擬連接器用戶端以進行單元測試。
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 或實例的認證屬性。
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 Emulator中測試 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 不同,因為它只會傳回直接參與活動的那些使用者,而不是交談的所有成員。
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物件,其中包含結果頁面和接續權杖。
備註
傳回值的 conversations 屬性包含 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[]>
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 的運作方式 和 中介軟體 文章。
使用配接器的 use 方法,將中介軟體新增至配接器。
例如:
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 的運作方式 和 中介軟體 文章。
使用配接器的 use 方法,將中介軟體新增至配接器。
processRequest(IReceiveRequest)
檢查要求的有效性,並嘗試將它對應到正確的虛擬端點,然後視需要產生並傳迴響應。
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
參數
- request
-
IReceiveRequest
來自已連線通道的 ReceiveRequest。
傳回
Promise<StreamingResponse>
由 BotAdapter 所建立的回應,傳送至產生要求的用戶端。
sendActivities(TurnContext, Partial<Activity>[])
以非同步方式將一組傳出活動傳送至通道伺服器。 這個方法支援架構,並不適合直接針對您的程式碼呼叫。 從 Bot 程式碼使用回合內容的 sendActivity 或 sendActivities 方法。
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
參數
- context
-
TurnContext
回合的內容物件。
- activities
-
Partial<Activity>[]
要傳送的活動。
傳回
Promise<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 的應用程式識別碼。 這個參數會在單一租使用者中忽略 Adapters (Console、Test 等) ,但對多租使用者感知的 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