BotFrameworkAdapter class
警告
现已弃用此 API。
Use CloudAdapter
instead.
- Extends
-
BotAdapter
构造函数
Bot |
创建 BotFrameworkAdapter 类的新实例。 |
属性
is |
在流式处理上下文中使用,用于检查流连接是否仍然打开,以便机器人发送活动。 |
Token |
继承属性
Bot |
|
Connector |
|
OAuth |
|
on |
方法
继承的方法
构造函数详细信息
BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)
创建 BotFrameworkAdapter 类的新实例。
new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)
参数
- settings
-
Partial<BotFrameworkAdapterSettings>
可选。 要用于此适配器实例的设置。
注解
settings
如果参数不包括 channelService 或 openIdMetadata 值,则构造函数会检查进程的环境变量中是否有这些值。 当在 Azure 上预配机器人时,可以设置这些值,如果需要,机器人才能在全球云或国家云中正常工作。
BotFrameworkAdapterSettings 类定义可用的适配器设置。
属性详细信息
isStreamingConnectionOpen
在流式处理上下文中使用,用于检查流连接是否仍然打开,以便机器人发送活动。
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>
注解
这通常称为 主动通知,机器人可以主动向对话或用户发送消息,而无需等待传入消息。 例如,机器人可以使用此方法向用户发送通知或优惠券。
发送主动消息:
- 从传入活动保存 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 请求的声明,请创建与 Skills 一起使用的 ConnectorClient。 从 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 通道服务或其他机器人的 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 从机器人代码中删除活动。
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
要从对话中删除的成员的 ID。
返回
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中测试机器人时,此方法可以模拟 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
将与令牌关联的用户 ID。
- 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
可选。 要获取其成员的活动的 ID。 如果未指定,则使用当前活动 ID。
返回
Promise<ChannelAccount[]>
给定活动中涉及的用户的 ChannelAccount 对象的数组。
注解
返回给定活动中涉及的用户的 ChannelAccount 对象的数组。
这与 getConversationMembers 不同,因为它将仅返回直接参与活动的那些用户,而不是对话的所有成员。
getConversationMembers(TurnContext)
异步列出当前对话的成员。
function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>
参数
- context
-
TurnContext
轮次的上下文对象。
返回
Promise<ChannelAccount[]>
聊天中当前涉及的所有用户的 ChannelAccount 对象的数组。
注解
返回聊天中当前涉及的所有用户的 ChannelAccount 对象的数组。
这与 getActivityMembers 不同,因为它将返回会话的所有成员,而不仅仅是直接参与特定活动的成员。
getConversations(TurnContext | string, string)
对于指定的通道,异步获取此机器人参与的对话页。
function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>
参数
- contextOrServiceUrl
-
TurnContext | string
要查询的通道服务器的 URL 或来自通道上的会话的 TurnContext 对象。
- continuationToken
-
string
可选。 结果上一页的延续标记。
省略此参数或使用 undefined
检索结果的第一页。
返回
Promise<ConversationsResult>
一个 ConversationsResult 对象,其中包含结果页和延续标记。
注解
返回值的 conversations 属性包含 一页 ConversationMembers 对象。 每个对象的 ID 都是机器人参与此通道的会话的 ID。 可以从会话上下文外部调用此方法,因为只需要机器人的服务 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
将与令牌关联的用户 ID。
- 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
将与令牌关联的用户 ID。
- 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
可选。 如果存在,则为要检索其令牌状态的用户的 ID。 否则,将使用发送当前活动的用户的 ID。
- 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>
注解
这是机器人接收传入消息并在对话中定义轮次的主要方式。 此方法:
- 分析和验证传入请求。
- 从传入请求的正文中读取活动。 如果无法分析活动,将返回错误。
- 使用机器人
appId
的 和appPassword
将发送方标识作为模拟器或有效的 Microsoft 服务器进行身份验证。 如果未验证发送方的身份,请求将被拒绝。
- 为收到的活动创建 TurnContext 对象。
- 此对象使用 可吊销代理进行包装。
- 此方法完成后,将吊销代理。
- 通过适配器的中间件管道发送轮次上下文。
- 将轮次上下文发送到
logic
函数。- 机器人此时可能会执行其他路由或处理。
返回承诺 (或提供
async
处理程序) 将导致适配器等待任何异步操作完成。 - 函数
logic
完成后,将解析中间件设置的承诺链。
- 机器人此时可能会执行其他路由或处理。
返回承诺 (或提供
提示
如果在机器人的控制台输出中看到错误 TypeError: Cannot perform 'set' on a proxy that has been revoked
,则可能是使用了异步函数而不使用 await
关键字。 确保所有异步函数都使用 await!
中间件可能会使一个回合 短路 。 发生这种情况时,不会调用后续中间件和 logic
函数;但是,在此之前的所有中间件仍运行到完成。
有关中间件管道的详细信息,请参阅 机器人的工作原理 和 中间件 文章。
使用适配器的 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>
注解
这是机器人接收传入消息并在对话中定义轮次的主要方式。 此方法:
- 为收到的活动创建 TurnContext 对象。
- 此对象使用 可吊销代理进行包装。
- 此方法完成后,将吊销代理。
- 通过适配器的中间件管道发送轮次上下文。
- 将轮次上下文发送到
logic
函数。- 机器人此时可能会执行其他路由或处理。
返回承诺 (或提供
async
处理程序) 将导致适配器等待任何异步操作完成。 - 函数
logic
完成后,将解析中间件设置的承诺链。
- 机器人此时可能会执行其他路由或处理。
返回承诺 (或提供
中间件可能会使一个回合 短路 。 发生这种情况时,不会调用后续中间件和 logic
函数;但是,在此之前的所有中间件仍运行到完成。
有关中间件管道的详细信息,请参阅 机器人的工作原理 和 中间件 文章。
使用适配器的 use 方法将中间件添加到适配器。
processRequest(IReceiveRequest)
检查请求的有效性,并尝试将其映射到正确的虚拟终结点,然后生成并返回响应(如果适用)。
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
参数
- request
-
IReceiveRequest
来自已连接通道的 ReceiveRequest。
返回
Promise<StreamingResponse>
BotAdapter 创建的响应,该响应将发送到发出请求的客户端。
sendActivities(TurnContext, Partial<Activity>[])
以异步方式将一组传出活动发送到通道服务器。 此方法支持框架,不打算直接为代码调用此方法。 从机器人代码使用轮次上下文的 sendActivity 或 sendActivities 方法。
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
参数
- context
-
TurnContext
轮次的上下文对象。
- activities
-
Partial<Activity>[]
要发送的活动。
返回
Promise<ResourceResponse[]>
注解
活动将按接收顺序逐个发送。 将为每个发送的活动返回一个响应对象。 对于 message
活动,这将包含已传递消息的 ID。
signOutUser(TurnContext, string, string)
从令牌服务器异步注销用户。
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
参数
- context
-
TurnContext
轮次的上下文对象。
- connectionName
-
string
要使用的身份验证连接的名称。
- userId
-
string
要注销的用户的 ID。
返回
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 从机器人代码更新活动。
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
机器人 (服务器) 与通道/调用方之间的原始套接字连接, (客户端) 。
- 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
机器人的应用程序 ID。 此参数在单个租户中忽略适配器 (控制台、测试等) 但对于多租户感知的 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
机器人的应用程序 ID。
- _channelId
-
string
通道的 ID。
- _serviceUrl
-
string
通道的 ID。
- _audience
-
string
连接器的受众。
- _conversationParameters
-
ConversationParameters
用于创建对话的对话信息
- _logic
-
(context: TurnContext) => Promise<void>
要为生成的机器人轮次调用的方法。
返回
Promise<void>
表示异步操作的承诺
注解
若要开始聊天,机器人必须知道其帐户信息和该通道上的用户帐户信息。 大多数_channels仅支持启动直接消息 (非组) 对话。
适配器尝试在通道上创建新会话,然后通过其中间件管道将活动发送到 conversationUpdate
逻辑方法。
如果与指定用户建立会话,则活动对话的 ID 将包含新会话的 ID。
继承自 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