BotAdapter 类

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

public abstract class BotAdapter

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

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

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

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)

向对话发送主动消息。

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

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。

continueConversation

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

向对话发送主动消息。

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

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。

continueConversation

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

向对话发送主动消息。

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

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。

continueConversation

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

向对话发送主动消息。

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

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。

continueConversation

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

向对话发送主动消息。

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

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。

continueConversation

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

向对话发送主动消息。

Parameters:

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

Returns:

一个任务,表示排队要执行的工作。 调用此方法可主动向对话发送消息。 大多数通道要求用户先启动与机器人的对话,然后机器人才能向用户发送活动。
     <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)

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

Parameters:

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

Returns:

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

getMiddlewareSet

protected MiddlewareSet getMiddlewareSet()

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

Returns:

管道的中间件集合。

getOnTurnError

public OnTurnErrorHandler getOnTurnError()

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

Returns:

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

runPipeline

protected CompletableFuture runPipeline(TurnContext context, BotCallbackHandler callback)

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

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

Parameters:

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

Returns:

表示排队等待执行的工作的任务。

sendActivities

public abstract CompletableFuture sendActivities(TurnContext context, List activities)

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

Parameters:

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

Returns:

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

setOnTurnError

public void setOnTurnError(OnTurnErrorHandler withTurnError)

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

Parameters:

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

updateActivity

public abstract CompletableFuture updateActivity(TurnContext context, Activity activity)

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

Parameters:

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

Returns:

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

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

use

public BotAdapter use(Middleware middleware)

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

Parameters:

middleware - 要添加的中间件。

Returns:

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

适用于