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

OnEndOfConversationActivityAsync(ITurnContext<IEndOfConversationActivity>, CancellationToken)

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

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,从连接器接收事件活动时调用。 事件活动可用于传达许多不同的内容。 默认情况下,如果活动的名称 tokens/responseOnEventAsync(ITurnContext<IEventActivity>, CancellationToken),此方法将调用 OnTokenResponseEventAsync(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 活动的逻辑,将“action”设置为“add”。

OnInstallationUpdateRemoveAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

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

OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken)

在使用 OnTurnAsync(ITurnContext, CancellationToken) 的基本行为时,从连接器接收调用活动时调用。 调用活动可用于传达许多不同的内容。 默认情况下,如果活动的名称 signin/verifyStatesignin/tokenExchange,此方法将调用 OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken)OAuthCard可以触发 signin/verifyStatesignin/tokenExchange 调用。

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)

在使用 OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken) 的基本行为时,在收到 signin/verifyStatesignin/tokenExchange 事件时调用。 如果使用 OAuthPrompt,请重写此方法以将此 Activity 转发到当前对话框。 默认情况下,此方法不执行任何操作。

OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)

在使用 OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken) 的基本行为时收到 tokens/response 事件时调用。 如果使用 OAuthPrompt,请重写此方法以将此 Activity 转发到当前对话框。 默认情况下,此方法不执行任何操作。

OnTurnAsync(ITurnContext, CancellationToken)

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

OnTypingActivityAsync(ITurnContext<ITypingActivity>, CancellationToken)

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

OnUnrecognizedActivityTypeAsync(ITurnContext, CancellationToken)

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

适用于