ActivityHandler 类

定义

接口的实现 IBot ,旨在进一步子类化。

public class ActivityHandler : Microsoft.Bot.Builder.IBot
type ActivityHandler = class
    interface IBot
Public Class ActivityHandler
Implements IBot
继承
ActivityHandler
派生
实现

注解

派生自此类以插入代码来处理特定活动类型。 通过调用派生类中的基类实现,可以添加对象的 Activity 预处理和后处理。

构造函数

名称 说明
ActivityHandler()

接口的实现 IBot ,旨在进一步子类化。

方法

名称 说明
CreateInvokeResponse(Object)

工厂将 InvokeResponse 身体初始化为传递的参数,状态等于 OK。

OnAdaptiveCardInvokeAsync(ITurnContext<IInvokeActivity>, AdaptiveCardInvokeValue, CancellationToken)

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

OnCommandActivityAsync(ITurnContext<ICommandActivity>, CancellationToken)

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

OnCommandResultActivityAsync(ITurnContext<ICommandResultActivity>, CancellationToken)

当使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时收到 CommandResult 活动时调用。 CommandResult 活动可用于传达命令执行的结果。

OnConversationUpdateActivityAsync(ITurnContext<IConversationUpdateActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,从通道接收会话更新活动时调用。 聊天更新活动在响应添加到对话或删除的用户时非常有用。 例如,机器人可以通过问候用户来响应正在添加的用户。 默认情况下,如果已添加任何用户或 OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken) 已删除任何用户,此方法将调用 OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)。 该方法检查成员 ID,以便它仅响应有关机器人本身以外的成员的更新。

OnEndOfConversationActivityAsync(ITurnContext<IEndOfConversationActivity>, CancellationToken)

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

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,从连接器接收事件活动时调用。 事件活动可用于传达许多不同的内容。 默认情况下,该方法会调用OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)活动名称是否为tokens/responseOnEventAsync(ITurnContext<IEventActivity>, CancellationToken)tokens/response事件可以由 OAuthCard触发。

OnEventAsync(ITurnContext<IEventActivity>, CancellationToken)

当使用基础OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)行为时,接收到非tokens/response事件时调用。 如果机器人旨在处理杂项事件,则可以选择性地重写此方法。 默认情况下,此方法不执行任何操作。

OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在派生类中覆盖此逻辑,以提供特定于活动的 InstallationUpdate 逻辑。

OnInstallationUpdateAddAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在派生类中覆盖此逻辑,以提供针对将“动作”设置为“添加”的活动的逻辑 InstallationUpdate

OnInstallationUpdateRemoveAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在派生类中覆盖此逻辑,以提供针对“动作”设置为“移除”的活动的 InstallationUpdate 逻辑。

OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken)

当连接器接收到调用活动时调用,且使用了 的 OnTurnAsync(ITurnContext, CancellationToken) 基础行为。 调用活动可用于传达许多不同的内容。 默认情况下,如果活动名称为signin/verifyStatesignin/tokenExchange,该方法会调用OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken)signin/verifyState A 或 signin/tokenExchange invoke 可以通过 OAuthCard触发。

OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

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

OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

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

OnMessageActivityAsync(ITurnContext<IMessageActivity>, CancellationToken)

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

OnMessageDeleteActivityAsync(ITurnContext<IMessageDeleteActivity>, CancellationToken)

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

OnMessageReactionActivityAsync(ITurnContext<IMessageReactionActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,从连接器接收事件活动时调用。 消息反应对应于将“like”或“sad”等(通常为表情符号)添加到以前发送的活动的用户。 消息反应仅受一些通道支持。 message reaction 对应于的活动在 replyToId 属性中指示。 此属性的值是以前发送的活动的活动 ID,作为发送调用的响应返回给机器人。

OnMessageUpdateActivityAsync(ITurnContext<IMessageUpdateActivity>, CancellationToken)

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

OnReactionsAddedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

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

OnReactionsRemovedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

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

OnSearchInvokeAsync(ITurnContext<IInvokeActivity>, SearchInvokeValue, CancellationToken)

在发送具有“application/search”名称的“invoke”活动时调用机器人。

OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken)

signin/verifyState 收到或 signin/tokenExchange 事件并使用基础 OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken) 行为时调用。 如果使用 , OAuthPrompt则覆盖该方法以转发 Activity 到当前对话。 默认情况下,此方法不执行任何操作。

OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)

tokens/response 收到事件并使用了 的 OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken) 基础行为时调用。 如果使用 , OAuthPrompt则覆盖该方法以转发 Activity 到当前对话。 默认情况下,此方法不执行任何操作。

OnTurnAsync(ITurnContext, CancellationToken)

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

OnTypingActivityAsync(ITurnContext<ITypingActivity>, CancellationToken)

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

OnUnrecognizedActivityTypeAsync(ITurnContext, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,在收到消息、会话更新或事件以外的活动时调用。 如果重写,这可能响应任何其他活动类型,例如 ContactRelationUpdateEndOfConversation。 默认情况下,此方法不执行任何操作。

适用于