ActivityHandler 类

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

实现


public class ActivityHandler
implements Bot

用于进一步子类化的 Bot 接口的实现。 派生自此类以插入代码来处理特定 Activity 类型。 可以通过派生和调用基类实现来插入活动的预处理和后期处理。

构造函数摘要

构造函数 说明
ActivityHandler()

方法摘要

修饰符和类型 方法和描述
protected InvokeResponse createInvokeResponse(Object body)

使用指定的正文创建成功调用响应。

protected java.util.concurrent.CompletableFuture<AdaptiveCardInvokeResponse> onAdaptiveCardInvoke(TurnContext turnContext, AdaptiveCardInvokeValue invokeValue)

当机器人发送自适应卡片作执行时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onCommandActivity(TurnContext turnContext)

在使用 onTurn(TurnContext turnContext) 的基本行为时收到命令活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onCommandResultActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,在收到命令结果活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onConversationUpdateActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从通道接收会话更新活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEndOfConversationActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于 Activity类型的逻辑。END_OF_CONVERSATION 活动。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEvent(TurnContext turnContext)

在使用 onEventActivity(TurnContext turnContext) 的基本行为时,在收到令牌/响应以外的事件时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEventActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从连接器接收事件活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdate(TurnContext turnContext)

重写派生类中的此项,以提供特定于 Activity类型的逻辑。安装更新活动。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdateAdd(TurnContext turnContext)

重写派生类中的此项,以提供特定于 Activity类型的逻辑。安装“作”设置为“add”的更新活动。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdateRemove(TurnContext turnContext)

重写派生类中的此项,以提供特定于 Activity类型的逻辑。安装“作”设置为“remove”的更新活动。

protected java.util.concurrent.CompletableFuture<InvokeResponse> onInvokeActivity(TurnContext turnContext)

当使用Turn 的基本行为时,从连接器接收调用活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMembersAdded(List<ChannelAccount> membersAdded, TurnContext turnContext)

在派生类中重写此项,以便在机器人加入聊天(例如机器人的欢迎逻辑)以外的成员时提供逻辑。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMembersRemoved(List<ChannelAccount> membersRemoved, TurnContext turnContext)

在派生类中重写此项,以便在机器人离开聊天(例如机器人的好转逻辑)以外的成员时提供逻辑。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMessageActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes#MESSAGE 活动的逻辑,例如聊天逻辑。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMessageReactionActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从连接器接收事件活动时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onReactionsAdded(List<MessageReaction> messageReactions, TurnContext turnContext)

在派生类中重写此项,以便在向会话中添加对上一活动的反应时提供逻辑。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onReactionsRemoved(List<MessageReaction> messageReactions, TurnContext turnContext)

重写派生类中的此项,以便在从会话中删除对上一活动的反应时提供逻辑。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onSignInInvoke(TurnContext turnContext)

在使用Invoke活动的基本行为时,收到“signin/verifyState”或“signin/tokenExchange”事件时调用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onTokenResponseEvent(TurnContext turnContext)

当使用 onEventActivity(TurnContext turnContext) 的基本行为时收到“token/response”事件时调用。

java.util.concurrent.CompletableFuture<java.lang.Void> onTurn(TurnContext turnContext)

适配器(例如,运行时 BotFrameworkAdapter)调用,以处理入站 Activity

protected java.util.concurrent.CompletableFuture<java.lang.Void> onTypingActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于 Activity类型的逻辑。键入活动。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onUnrecognizedActivityType(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,在收到消息、会话更新或事件以外的活动时调用。

方法继承自 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

构造函数详细信息

ActivityHandler

public ActivityHandler()

方法详细信息

createInvokeResponse

protected InvokeResponse createInvokeResponse(Object body)

使用指定的正文创建成功的 InvokeResponse。

参数:

body - 在调用响应中返回的正文。

返回:

InvokeResponse 对象。

onAdaptiveCardInvoke

protected CompletableFuture onAdaptiveCardInvoke(TurnContext turnContext, AdaptiveCardInvokeValue invokeValue)

当机器人发送自适应卡片作执行时调用。

参数:

turnContext - 此轮次的强类型上下文对象。
invokeValue - 传入活动值中的字符串类型对象。

返回:

表示要执行的工作的任务。 当 {@link OnInvokeActivity(TurnContext(InvokeActivity)} 方法收到具有 adaptiveCard/actionInvokeActivity.name 的 Invoke 时,它将调用此方法。

onCommandActivity

protected CompletableFuture onCommandActivity(TurnContext turnContext)

在使用 onTurn(TurnContext turnContext) 的基本行为时收到命令活动时调用。 命令是执行作的请求,接收方通常使用一个或多个 commandResult 活动进行响应。 接收方还应显式拒绝不支持的命令活动。

参数:

turnContext - 此轮次的强类型上下文对象。

返回:

表示要执行的工作的任务。 当 onTurn(TurnContext turnContext) 方法收到命令活动时,它将调用此方法。 在派生类中,重写此方法以添加适用于所有 comand 活动的逻辑。 在调用基类 onCommandActivity(TurnContext turnContext) 方法之前,在特定的命令处理逻辑之前添加要应用的逻辑。 在调用基类 onCommandActivity(TurnContext turnContext) 方法后,添加要应用于特定命令处理逻辑的逻辑。 命令活动将来自客户端或通道的编程信息传达给机器人。 命令活动的含义由名称属性定义,该属性在通道范围内有意义。

onCommandResultActivity

protected CompletableFuture onCommandResultActivity(TurnContext turnContext)

当使用 onTurn(TurnContext turnContext) 的基本行为时收到 CommandResult 活动时调用。 CommandResult 活动可用于传达命令执行的结果。

参数:

turnContext - 此轮次的强类型上下文对象。

返回:

表示要执行的工作的任务。 当 onTurn(TurnContext turnContext) 方法收到 CommandResult 活动时,它将调用此方法。 在派生类中,重写此方法以添加适用于所有 comand 活动的逻辑。 在调用基类 onCommandResultActivity(TurnContext turnContext) 方法之前,在特定的 CommandResult 处理逻辑之前添加要应用的逻辑。 在调用基类 onCommandResultActivity(TurnContext turnContext) 方法后,添加在特定的 CommandResult 处理逻辑之后应用的逻辑。 CommandResult 活动将编程信息从客户端或通道传达给机器人。 CommandResult 活动的含义由名称属性定义,该属性在通道范围内有意义。

onConversationUpdateActivity

protected CompletableFuture onConversationUpdateActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从通道接收会话更新活动时调用。

聊天更新活动在响应添加到对话或删除的用户时非常有用。

例如,机器人可以通过问候用户来响应正在添加的用户。 默认情况下,如果已添加任何用户或 onMembersRemoved(List<ChannelAccount> membersRemoved, TurnContext turnContext) 已删除任何用户,此方法将调用 onMembersAdded(List<ChannelAccount> membersAdded, TurnContext turnContext)。 该方法检查成员 ID,以便它仅响应有关机器人本身以外的成员的更新。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onEndOfConversationActivity

protected CompletableFuture onEndOfConversationActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于ActivityTypes.END_OF_CONVERSATION活动的逻辑。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onEvent

protected CompletableFuture onEvent(TurnContext turnContext)

在使用 onEventActivity(TurnContext turnContext) 的基本行为时,在收到令牌/响应以外的事件时调用。

如果机器人旨在处理杂项事件,则可以选择性地重写此方法。

默认情况下,此方法不执行任何作。

onEventActivity(TurnContext turnContext) 方法收到具有“token/response”以外的 Activity#getName() 的事件时,它将调用此方法。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onEventActivity

protected CompletableFuture onEventActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从连接器接收事件活动时调用。

事件活动可用于传达许多不同的内容。

默认情况下,如果活动的名称为“token/response”或 onEvent(TurnContext turnContext),此方法将调用 onTokenResponseEvent(TurnContext turnContext)。 “tokens/response”事件可由 com.microsoft.bot.schema.OAuthCard触发。

onTurn(TurnContext turnContext) 方法收到事件活动时,它将调用此方法。

如果事件 Activity#getName 为“token/response”,则调用 onTokenResponseEvent(TurnContext turnContext) 否则,将调用 onEvent(TurnContext turnContext)

在派生类中,重写此方法以添加应用于所有事件活动的逻辑。 在调用基类方法之前,在特定的事件处理逻辑之前添加要应用的逻辑。 在调用基类方法后,添加要应用于特定事件处理逻辑的逻辑。

事件活动将来自客户端或通道的编程信息传达给机器人。 事件活动的含义由 Activity#getName 属性定义,该属性在通道范围内有意义。 可以通过 com.microsoft.bot.schema.OAuthCard 或 OAuth 提示触发“令牌/响应”事件。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onInstallationUpdate

protected CompletableFuture onInstallationUpdate(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes.InstallationUpdate 活动的逻辑。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onInstallationUpdateAdd

protected CompletableFuture onInstallationUpdateAdd(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes.InstallationUpdate 活动的逻辑,将“action”设置为“add”。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onInstallationUpdateRemove

protected CompletableFuture onInstallationUpdateRemove(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes.InstallationUpdate 活动的逻辑,将“action”设置为“remove”。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onInvokeActivity

protected CompletableFuture onInvokeActivity(TurnContext turnContext)

使用 onTurn 的基本行为时,从连接器接收调用活动时调用。

调用活动可用于传达许多不同的内容。 默认情况下,如果活动的名称为“signin/verifyState”或“signin/tokenExchange”,则此方法将调用 onSignInInvokeAsync。

OAuthCard 可以触发“signin/verifyState”或“signin/tokenExchange”调用。

参数:

turnContext - 当前 TurnContext。

返回:

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

onMembersAdded

protected CompletableFuture onMembersAdded(List membersAdded, TurnContext turnContext)

在派生类中重写此项,以便在机器人加入聊天(例如机器人的欢迎逻辑)以外的成员时提供逻辑。

onConversationUpdateActivity(TurnContext turnContext) 方法收到一个会话更新活动,该活动指示除 bo 以外的一个或多个用户正在加入会话时,它将调用此方法。

参数:

membersAdded - 已添加到聊天中的所有成员的列表,如聊天更新活动所述。
turnContext - 此轮次的上下文对象。

返回:

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

onMembersRemoved

protected CompletableFuture onMembersRemoved(List membersRemoved, TurnContext turnContext)

在派生类中重写此项,以便在机器人离开聊天(例如机器人的好转逻辑)以外的成员时提供逻辑。

onConversationUpdateActivity(TurnContext turnContext) 方法收到会话更新活动,该活动指示机器人离开聊天以外的一个或多个用户时,它将调用此方法。

参数:

membersRemoved - 从聊天中删除的所有成员的列表,如聊天更新活动所述。
turnContext - 此轮次的上下文对象。

返回:

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

onMessageActivity

protected CompletableFuture onMessageActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes#MESSAGE 活动的逻辑,例如聊天逻辑。

onTurn(TurnContext turnContext) 方法收到消息活动时,它将调用此方法。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onMessageReactionActivity

protected CompletableFuture onMessageReactionActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,从连接器接收事件活动时调用。

消息反应对应于将“like”或“sad”等(通常为表情符号)添加到以前发送的活动的用户。 消息反应仅受一些通道支持。

message reaction 对应于的活动在 replyToId 属性中指示。 此属性的值是以前发送的活动的活动 ID,作为发送调用的响应返回给机器人。

onTurn(TurnContext turnContext) 方法收到消息反应活动时,它将调用此方法。 如果消息反应指示已将反应添加到消息中,则会调用 onReactionsAdded(List<MessageReaction> messageReactions, TurnContext turnContext)。 如果消息反应指示从消息中删除了反应,则它将调用 onReactionsRemoved(List<MessageReaction> messageReactions, TurnContext turnContext)

在派生类中,重写此方法以添加应用于所有消息反应活动的逻辑。 在调用基类方法之前添加要应用的反应之前要应用的逻辑。 在调用基类后添加要应用的反应后应用逻辑或移除逻辑。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onReactionsAdded

protected CompletableFuture onReactionsAdded(List messageReactions, TurnContext turnContext)

在派生类中重写此项,以便在向会话中添加对上一活动的反应时提供逻辑。

消息反应对应于将“赞”或“悲伤”等(通常为表情符号)添加到对话中之前发送的消息。 消息反应仅支持几个通道。 消息响应的活动由活动的 Activity#getReplyToId() 属性标识。 此属性的值是以前发送的活动的活动 ID。 当机器人发送活动时,通道会向其分配 ID,该 ID 在结果 com.microsoft.bot.schema.ResourceResponse#getId 中可用。

参数:

messageReactions - 添加的反应列表。
turnContext - 此轮次的上下文对象。

返回:

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

onReactionsRemoved

protected CompletableFuture onReactionsRemoved(List messageReactions, TurnContext turnContext)

重写派生类中的此项,以便在从会话中删除对上一活动的反应时提供逻辑。

消息反应对应于将“赞”或“悲伤”等(通常为表情符号)添加到对话中之前发送的消息。 消息反应仅支持几个通道。 消息响应的活动由活动的 Activity#getReplyToId() 属性标识。 此属性的值是以前发送的活动的活动 ID。 当机器人发送活动时,通道会向其分配 ID,该 ID 在结果 com.microsoft.bot.schema.ResourceResponse#getId 中可用。

参数:

messageReactions - 已删除反应的列表。
turnContext - 此轮次的上下文对象。

返回:

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

onSignInInvoke

protected CompletableFuture onSignInInvoke(TurnContext turnContext)

当使用 onInvokeActivity 的基本行为时收到“signin/verifyState”或“signin/tokenExchange”事件时调用。

如果使用 OAuthPrompt,请重写此方法以将此活动转发到当前对话框。 默认情况下,此方法不执行任何作。

当 onInvokeActivity 方法收到名为“tokens/response”的 Invoke 时,它将调用此方法。

如果机器人使用 OAuthPrompt,请将传入活动转发到当前对话框。

参数:

turnContext - 当前 TurnContext。

返回:

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

onTokenResponseEvent

protected CompletableFuture onTokenResponseEvent(TurnContext turnContext)

当使用 onEventActivity(TurnContext turnContext) 的基本行为时收到“token/response”事件时调用。

如果使用 OAuthPrompt,请重写此方法以将此 Activity 转发到当前对话框。

默认情况下,此方法不执行任何作。

onEventActivity(TurnContext turnContext) 方法收到 Activity#getName() 为“token/response”的事件时,它将调用此方法。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onTurn

public CompletableFuture onTurn(TurnContext turnContext)

适配器(例如,运行时 BotFrameworkAdapter)调用,以处理入站 Activity

此方法基于要处理的活动类型调用此类中的其他方法,从而允许派生类以受控方式提供特定于类型的逻辑。

在派生类中,重写此方法以添加适用于所有活动类型的逻辑。 在调用基类 onTurn(TurnContext turnContext) 方法之前,在类型特定的逻辑之前添加要应用的逻辑。 在调用基类 onTurn(TurnContext turnContext) 方法后,添加要应用于特定于类型的逻辑的逻辑。

参数:

turnContext - 此轮次的上下文对象。 提供有关传入活动的信息,以及处理活动所需的其他数据。

返回:

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

onTypingActivity

protected CompletableFuture onTypingActivity(TurnContext turnContext)

重写派生类中的此项,以提供特定于 ActivityTypes.Type 活动的逻辑。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

onUnrecognizedActivityType

protected CompletableFuture onUnrecognizedActivityType(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 的基本行为时,在收到消息、会话更新或事件以外的活动时调用。

如果重写,这可能响应任何其他活动类型,例如 com.microsoft.bot.schema.ActivityTypes#CONTACT_RELATION_UPDATEcom.microsoft.bot.schema.ActivityTypes#END_OF_CONVERSATION

默认情况下,此方法不执行任何作。

onTurn(TurnContext turnContext) 方法收到不是消息、对话更新、消息反应或事件活动的活动时,它将调用此方法。

参数:

turnContext - 此轮次的上下文对象。

返回:

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

适用于