BotAdapter 类

  • java.lang.Object
    • com.microsoft.bot.builder.BotAdapter

public abstract class BotAdapter

表示可将机器人连接到服务终结点的机器人适配器。 此类是抽象的。

机器人适配器封装身份验证过程,并向 Bot Connector 服务发送活动并从中接收活动。 当机器人收到活动时,适配器会创建一个上下文对象,将其传递给机器人的应用程序逻辑,并将响应发送回用户的通道。

使用 use(Middleware middleware)Middleware 对象添加到适配器\u2019中间件集合。 适配器通过机器人中间件管道处理传入活动并将其定向到机器人\u2019逻辑,然后再次返回。 当每个活动传入和流出机器人时,每个中间件都可以在机器人逻辑运行前后检查或处理活动。

TurnContext Activity Bot Middleware

字段摘要

修饰符和类型 字段和描述
static final java.lang.String BOT_IDENTITY_KEY

用于存储机器人声明标识的密钥。

static final java.lang.String OAUTH_CLIENT_KEY

用于存储机器人 oauth 客户端的密钥。

static final java.lang.String OAUTH_SCOPE_KEY

用于存储机器人 oauth 范围的密钥。

构造函数摘要

构造函数 说明
BotAdapter()

方法摘要

修饰符和类型 方法和描述
java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, String audience, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botId, Activity continuationActivity, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

abstract java.util.concurrent.CompletableFuture<java.lang.Void> deleteActivity(TurnContext context, ConversationReference reference)

在派生类中重写时,删除会话中的现有活动。

protected MiddlewareSet getMiddlewareSet()

获取适配器管道中中间件的集合。

OnTurnErrorHandler getOnTurnError()

获取可以在中间件或应用程序中捕获异常的错误处理程序。

protected java.util.concurrent.CompletableFuture<java.lang.Void> runPipeline(TurnContext context, BotCallbackHandler callback)

启动当前机器人轮次的活动处理。

abstract java.util.concurrent.CompletableFuture<ResourceResponse[]> sendActivities(TurnContext context, List<Activity> activities)

在派生类中重写时,将活动发送到会话。

void setOnTurnError(OnTurnErrorHandler withTurnError)

设置可以在中间件或应用程序中捕获异常的错误处理程序。

abstract java.util.concurrent.CompletableFuture<ResourceResponse> updateActivity(TurnContext context, Activity activity)

在派生类中重写时,替换会话中的现有活动。

BotAdapter use(Middleware middleware)

将中间件添加到适配器的管道。

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

字段详细信息

BOT_IDENTITY_KEY

public static final String BOT_IDENTITY_KEY

用于存储机器人声明标识的密钥。

OAUTH_CLIENT_KEY

public static final String OAUTH_CLIENT_KEY

用于存储机器人 oauth 客户端的密钥。

OAUTH_SCOPE_KEY

public static final String OAUTH_SCOPE_KEY

用于存储机器人 oauth 范围的密钥。

构造函数详细信息

BotAdapter

public BotAdapter()

方法详细信息

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

参数:

claimsIdentity - 会话的 ClaimsIdentity。
continuationActivity - 具有相应 ConversationReference 的活动,用于继续对话。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, String audience, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

参数:

claimsIdentity - 会话的 ClaimsIdentity。
continuationActivity - 具有相应 ConversationReference 的活动,用于继续对话。
audience - 表示主动消息收件人的值。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

参数:

claimsIdentity - 会话的 ClaimsIdentity 引用。
reference - 要继续的对对话的引用。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

参数:

claimsIdentity - 会话的 ClaimsIdentity 引用。
reference - 要继续的对对话的引用。
audience - 表示主动消息收件人的值。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(String botId, Activity continuationActivity, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

参数:

botId - 机器人的应用程序 ID。 在适配器(控制台、测试等)的单租户中忽略此参数,但对于多租户感知的 BotFrameworkAdapter 至关重要。
continuationActivity - 具有相应 ConversationReference 的活动,用于继续对话。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

参数:

botAppId - 机器人的应用程序 ID。 在适配器(控制台、测试等)的单租户中忽略此参数,但对于多租户感知的 BotFrameworkAdapter 至关重要。
reference - 要继续的对对话的引用。
callback - 调用生成的机器人轮次的方法。

返回:

表示要执行的工作的任务。 调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。
     <xref uid="com.microsoft.bot.builder.BotAdapter.runPipeline(com.microsoft.bot.builder.TurnContext,com.microsoft.bot.builder.BotCallbackHandler)" data-throw-if-not-resolved="false" data-raw-source="#runPipeline(TurnContext, BotCallbackHandler)"></xref>

deleteActivity

public abstract CompletableFuture deleteActivity(TurnContext context, ConversationReference reference)

在派生类中重写时,删除会话中的现有活动。

参数:

context - 轮次的上下文对象。
reference - 要删除的活动的对话引用。

返回:

表示要执行的工作的任务。 会话引用 ConversationReference#getActivityId 标识要删除的活动。 onDeleteActivity(DeleteActivityHandler handler)

getMiddlewareSet

protected MiddlewareSet getMiddlewareSet()

获取适配器管道中中间件的集合。

返回:

管道的中间件集合。

getOnTurnError

public OnTurnErrorHandler getOnTurnError()

获取可以在中间件或应用程序中捕获异常的错误处理程序。

返回:

可以在中间件或应用程序中捕获异常的错误处理程序。

runPipeline

protected CompletableFuture runPipeline(TurnContext context, BotCallbackHandler callback)

启动当前机器人轮次的活动处理。 适配器按添加中间件的顺序调用中间件。 适配器传入轮次的上下文对象和下一个委托,中间件调用委托将控制权传递给管道中的下一个中间件。 控件到达管道末尾后,适配器将调用 callback 方法。 如果中间件组件不调用下一个委托,适配器不会调用任何后续中间件\u2019onTurn(TurnContext turnContext, NextDelegate next) 方法或回调方法,以及管道短路。

当用户活动(反应消息传送)启动轮次时,回调方法将是对机器人的 onTurn(TurnContext turnContext) 方法的引用。 当轮次由调用 continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)(主动消息传送)发起时,回调方法是调用中提供的回调方法。

参数:

context - 轮次的上下文对象。
callback - 在管道末尾运行的回调方法。

返回:

表示要执行的工作的任务。

sendActivities

public abstract CompletableFuture sendActivities(TurnContext context, List activities)

在派生类中重写时,将活动发送到会话。

参数:

context - 轮次的上下文对象。
activities - 要发送的活动。

返回:

表示要执行的工作的任务。 如果成功发送活动,则任务结果包含一组 ResourceResponse 对象,其中包含接收通道分配给活动的 ID。 onSendActivities(SendActivitiesHandler handler)

setOnTurnError

public void setOnTurnError(OnTurnErrorHandler withTurnError)

设置可以在中间件或应用程序中捕获异常的错误处理程序。

参数:

withTurnError - 可以在中间件或应用程序中捕获异常的错误处理程序。

updateActivity

public abstract CompletableFuture updateActivity(TurnContext context, Activity activity)

在派生类中重写时,替换会话中的现有活动。

参数:

context - 轮次的上下文对象。
activity - 新的替换活动。

返回:

表示要执行的工作的任务。 如果成功发送活动,则任务结果包含一个 ResourceResponse 对象,该对象包含接收通道分配给活动的 ID。

在调用此 ID 之前,请将替换活动的 ID 设置为要替换的活动的 ID。 onUpdateActivity(UpdateActivityHandler handler)

use

public BotAdapter use(Middleware middleware)

将中间件添加到适配器的管道。

参数:

middleware - 要添加的中间件。

返回:

更新的适配器对象。 中间件在初始化时添加到适配器。 对于每个轮次,适配器按添加中间件的顺序调用中间件。

适用于