BotFrameworkAdapter class
警告
现已弃用此 API。
Use CloudAdapter
instead.
- 扩展
-
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>
表示异步操作的 promise
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>
表示异步操作的 promise
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 对象的
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
要从通道上的会话中查询或 TurnContext 对象的通道服务器的 URL。
- continuationToken
-
string
自选。 结果上一页的延续标记。
省略此参数或使用 undefined
检索结果的第一页。
返回
Promise<ConversationsResult>
ConversationsResult 对象,该对象包含结果页和延续标记。
注解
返回值的 对话 属性包含 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>
表示异步操作的 promise。
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>
表示异步操作的 promise。
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
函数;但是,在此点之前的所有中间件仍运行到完成。
有关中间件管道的详细信息,请参阅 机器人如何工作 和 中间件 文章。
使用适配器 使用 方法将中间件添加到适配器。
例如:
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
函数;但是,在此点之前的所有中间件仍运行到完成。
有关中间件管道的详细信息,请参阅 机器人如何工作 和 中间件 文章。
使用适配器 使用 方法将中间件添加到适配器。
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>
表示操作的 ResourceResponse 的 Promise
。
注解
并非所有通道都支持此操作。 对于未调用的通道,此调用可能会引发异常。
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>
对话 部分
- logic
-
(context: TurnContext) => Promise<void>
在适配器中间件运行后调用的异步方法。
返回
Promise<void>
表示异步操作的 promise
继承自 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>
对话 部分
- audience
-
string
表示主动消息收件人的值。
- logic
-
(context: TurnContext) => Promise<void>
在适配器中间件运行后调用的异步方法。
返回
Promise<void>
表示异步操作的 promise
继承自 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>
对话 部分
- logic
-
(context: TurnContext) => Promise<void>
在适配器中间件运行后调用的异步方法。
返回
Promise<void>
表示异步操作的 promise
继承自 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