# 事件 Event

> For the complete documentation index, see [llms.txt](https://simbot.forte.love/v4/llms.txt).

> **TL;DR**
> 基础的事件类型定义与介绍。

> **Note:**
> 文档介绍的内容是经过简化、且非 “实时” 的。 如果你希望阅读更详细、更贴合版本真实情况的描述, 请前往参阅 [API文档引导站](https://docs.simbot.forte.love) 中相关内容的 `KDoc`。

## 基本事件类型

事件类型中, 比较基础、接近根部的类型。

Event
: 事件。是所有事件类型的老父亲。
:
:
:
: > **Tip:**
: > 所有其他事件都直接或间接继承 `Event`, 在后续的类型定义中将不再赘述。
:
:
:
: 属性：
:
:
:
:
: id
: : `ID` 类型, 事件的ID。
: :
: :
: :
: : 根据不同的场景, 它可能是真实的, 也可能是随机的。
:
:
: time
: : `Timestamp` 类型, 事件发生的时间或此事件被接收到的时间。

ComponentEvent
: 代表一个含有 `Component` 信息的事件。
:
:
:
: 属性：
:
:
:
:
: component
: : `Component` 类型, 事件所属组件的组件标识。

BotEvent
: 继承 [ComponentEvent](#d-component-event), 代表一个含有 `Bot` 的事件。
:
:
:
: 属性：
:
:
:
:
: bot
: : `Bot` 类型, 事件所属或源自的 `Bot`。

ContentEvent
: 存在一个 主要事件中心 (`content`) 的事件类型。
:
:
:
: 属性：
:
:
:
:
: content
: : `Any?` 类型, 也就是可能为任何类型, 代表这个事件的主要事件中心。
: :
: :
: :
: : > **Tip:**
: : > `content` 的具体类型主要由其他具体实现类来覆盖定义。

SourceEvent
: 存在一个 源头 (`source`) 的事件类型。 通常与 [ContentEvent](#d-content-event) 配合实现。
:
:
:
: 属性：
:
:
:
:
: source
: : `Any?` 类型, 也就是可能为任何类型, 代表这个事件的 “源头” 。
: :
: :
: :
: : > **Tip:**
: : > `source` 的具体类型主要由其他具体实现类来覆盖定义。

ChangeEvent
: 继承 [ContentEvent](#d-content-event), 发生了某种变化的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `Any?` 类型, 也就是可能为任何类型, 代表这个事件的 发生了变化的主体。 。
: :
: :
: :
: : > **Tip:**
: : > `content` 继承自 [ContentEvent](#d-content-event)。

## 行为对象 Actor 相关事件

一些与 行为对象 相关、并将其视为事件中心的事件类型。

ActorEvent
: 所有行为对象事件的统一父类, 继承 [BotEvent](#d-bot-event)、[ContentEvent](#d-content-event)。
:
:
:
: > **Tip:**
: > 本节内所有其他事件都继承 `ActorEvent`, 在后续的类型定义中将不再赘述。
:
:
:
: 属性：
:
:
:
:
: content
: : `Actor` 类型, 被作为事件中心的 行为对象。
: :
: :
: :
: : > **Tip:**
: : > `content` 继承自 [ContentEvent](#d-content-event)。
: : >
: : >
: : >
: : > 本节内后续出现的此属性将不再赘述此说明。

ContactEvent
: 以 联系人 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `Contact` 类型, 被作为事件中心的 联系人。

OrganizationEvent
: 以 组织 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `Organization` 类型, 被作为事件中心的 组织。

ChatRoomEvent
: 以 聊天室 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `ChatRoom` 类型, 被作为事件中心的 聊天室。

ChatGroupEvent
: 以 聊天群 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `ChatGroup` 类型, 被作为事件中心的 聊天群。

GuildEvent
: 以 频道服务器 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: content
: : `Guild` 类型, 被作为事件中心的 频道服务器。

ChannelEvent
: 以 频道 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: source
: : `Guild` 类型, 此事件中心的频道所属的 频道服务器。
:
:
: content
: : `Channel` 类型, 被作为事件中心的 频道。

ChatChannelEvent
: 以 聊天频道 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: source
: : `Guild` 类型, 此事件中心的频道所属的 频道服务器。
:
:
: content
: : `ChatChannel` 类型, 被作为事件中心的 聊天频道。

OrganizationSourceEvent
: 以 组织 作为源头、但并非事件主要主体的事件类型。
:
:
:
: > **Tip:**
: > 此类型不实现 [ActorEvent](#d-actor-event), 但会与下述部分 [MemberEvent](#d-member-event) 相关类型的事件相互配合。
:
:
:
: 属性：
:
:
:
:
: source
: : `Organization` 类型, 事件中心的所属源头 组织。

MemberEvent
: 以 组织成员 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: source
: : `Organization` 类型, 此事件中心的组织成员所属的源头 组织。
:
:
: content
: : `Member` 类型, 被作为事件中心的 组织成员。

ChatGroupMemberEvent
: 以一个 聊天群 中的 组织成员 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: source
: : `ChatGroup` 类型, 此事件中心的组织成员所属的源头 聊天群。
:
:
: content
: : `Member` 类型, 被作为事件中心的 组织成员。

GuildMemberEvent
: 以一个 频道 中的 组织成员 为中心的事件。
:
:
:
: 属性：
:
:
:
:
: source
: : `Guild` 类型, 此事件中心的组织成员所属的源头 频道。
:
:
: content
: : `Member` 类型, 被作为事件中心的 组织成员。

## 请求相关事件

一些与申请、请求或相似概念相关的事件类型。

RequestEvent
: `Bot` 收到的某种与请求/申请有关的事件。继承 [BotEvent](#d-bot-event)。
:
:
:
: > **Tip:**
: > 本节内所有事件均继承 `RequestEvent`, 下文将不再赘述。
:
:
:
:
: message
: : `String?` 类型, 伴随请求的附加消息。可能为 `null`。
:
:
: type
: : `RequestEvent.Type` 枚举类型, 此申请的主动或被动类型。
: :
: :
: :
: : 元素：
: :
: :
: :
: : * `PROACTIVE`
: :
: : * `PASSIVE`
:
:
: reject()
: : 拒绝此请求。
:
:
: accept()
: : 接受此请求。

OrganizationRequestEvent
: `Bot` 收到的某种与 组织 相关的请求/申请有关的事件。
:
:
:
: 继承 [OrganizationEvent](#d-organization-event)。

OrganizationJoinRequestEvent
: 某个用户想要加入目标 组织 的请求事件。
:
:
:
:
: requesterId
: : `ID` 类型, 申请人的 ID。
:
:
: requester
: : `User?` 类型, 尝试获取申请者的一些基础信息。 如果无法获取则可能为 `null`。

ChatGroupJoinRequestEvent
: 某用户申请加入 聊天群 的事件。
:
:
:
:
: content
: : `ChatGroup` 类型, 被申请的 聊天群。

GuildJoinRequestEvent
: 某用户申请加入 频道 的事件。
:
:
:
:
: content
: : `Guild` 类型, 被申请的 频道。

## 成员变动事件

一些与 组织成员 发生了变化、变动或相似概念相关的事件类型。

MemberChangeEvent
: 当 组织成员 发生了某种变化时的事件。
:
:
:
: > **Tip:**
: > 本节内的事件均继承 `MemberChangeEvent`, 下文将不再赘述。
:
:
:
:
: content
: : `Member` 类型, 发生了变化的 组织成员。

GuildMemberChangeEvent
: 当 频道 的 组织成员 发生了某种变化时的事件。
:
:
:
: 继承 [GuildMemberEvent](#d-guild-member-event)。
:
:
:
:
: source
: : `Guild` 类型, 发生变化所在的 频道。
:
:
: content
: : `Member` 类型, 发生了变化的 组织成员。

GroupMemberChangeEvent
: 当 聊天群 的 组织成员 发生了某种变化时的事件。
:
:
:
: 继承 [GroupMemberEvent](#d-group-member-event)。
:
:
:
:
: source
: : `ChatGroup` 类型, 发生变化所在的 聊天群。
:
:
: content
: : `Member` 类型, 发生了变化的 组织成员。

## 组织变动事件

一些与 组织 发生了变化、变动或相似概念相关的事件类型。

OrganizationChangeEvent
: 某 组织 产生了某种变化的事件。
:
:
:
: 继承 [ChangeEvent](#d-change-event) , [OrganizationEvent](#d-organization-event)。
:
:
:
: > **Tip:**
: > 本节内所有事件均继承 `OrganizationChangeEvent`, 下文将不再赘述。
:
:
:
:
: content
: : `Organization` 类型, 发生了变化的 组织。

MemberIncreaseOrDecreaseEvent
: 某组织成员增加或减少的事件。
:
:
: content
: : `Organization` 类型, 增加或减少成员的 组织。
: :
: :
: :
: : 返回类型会根据实现类的场景而变化。
:
:
: member
: : `Member?` 类型, 增加或减少的 组织成员。 如不支持获取, 则可能得到 null 。

MemberIncreaseEvent
: 某组织成员增加事件。继承 `MemberIncreaseOrDecreaseEvent`。

MemberDecreaseEvent
: 某组织成员减少事件。继承 `MemberIncreaseOrDecreaseEvent`。

ChatGroupMemberIncreaseOrDecreaseEvent
: 某 聊天群 成员变动事件。

ChatGroupMemberIncreaseEvent
: 某 聊天群 成员增加事件。继承 `ChatGroupMemberIncreaseOrDecreaseEvent`。

ChatGroupMemberDecreaseEvent
: 某 聊天群 成员减少事件。继承 `ChatGroupMemberIncreaseOrDecreaseEvent`。

GuildMemberIncreaseOrDecreaseEvent
: 某 频道 成员变动事件。

GuildMemberIncreaseEvent
: 某 频道 成员增加事件。继承 `GuildMemberIncreaseOrDecreaseEvent`。

GuildMemberDecreaseEvent
: 某 频道 成员减少事件。继承 `GuildMemberIncreaseOrDecreaseEvent`。

## 消息事件

一些与Bot收到消息相关的事件类型。

MessageEvent
: 一个 `Bot` 收到消息的事件。继承 [BotEvent](#d-bot-event)、`ReplySupport`。
:
:
:
: > **Tip:**
: > 本节内所有事件均继承 `MessageEvent`, 下文将不再赘述。
:
:
:
:
: authorId
: : `ID` 类型, 这个消息的发送人ID。
:
:
: messageContent
: : `MessageContent` 类型, 事件中收到的消息内容。
:
:
: reply(...)
: : 基于此事件收到的消息进行回复。 来自 `ReplySupport` 接口。

ChatRoomMessageEvent
: 一个 `Bot` 从 聊天室 处收到消息的事件。

ChatGroupMessageEvent
: 一个 `Bot` 从 聊天群 处收到消息的事件。

ChatChannelMessageEvent
: 一个 `Bot` 从 聊天频道 处收到消息的事件。

MemberMessageEvent
: 一个 `Bot` 从 组织成员 处收到消息的事件。

ChatGroupMemberMessageEvent
: 一个 `Bot` 从 聊天群 中的 组织成员 处收到消息的事件。

GuildMemberMessageEvent
: 一个 `Bot` 从 频道 中的 组织成员 处收到消息的事件。

ContactMessageEvent
: 一个 `Bot` 从 联系人 处收到消息的事件。

## 内部事件

一些仅在内部流转、与外界无关的事件，通常用于一些内部的状态通知或功能拦截。

> **Warning:**
> 所有的内部事件对于组件来讲都仅仅是一个可选的建议。 这些事件是否被实现取决于组件的实现情况。
>
>
>
> 组件在实现时可能会提供更进一步的事件类型或额外的扩展类型。

### InternalEvent

InternalEvent
: 一些仅在内部流转、与外界无关的事件，通常用于一些内部的状态通知或功能拦截。
:
:
:
:
: InternalNotificationEvent
: : 一个内部通知事件。 通知性质的内部事件通常仅用作“通知”，即它不会对某些行为造成影响。
:
:
: InternalInterceptionEvent
: : 一个内部拦截事件。
: :
: : 拦截性质的内部事件通常用作“拦截”，即它会对某些行为进行拦截，并有可能会产生影响， 例如改变原本行为的参数、或者通过抛出异常直接阻止某些行为的发生。

### BotStageEvent

BotStageEvent
: 与 Bot 相关的阶段性事件。 例如bot被注册了、bot被启动了。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface Event
: interface ComponentEvent extends Event
: interface BotEvent extends ComponentEvent
: interface InternalEvent extends Event
: interface InternalNotificationEvent extends InternalEvent
:
: interface BotStageEvent ##[bold]LightSeaGreen extends InternalNotificationEvent, BotEvent
: interface BotRegisteredEvent ##[bold]LightSeaGreen extends BotStageEvent
: interface BotStartedEvent ##[bold]LightSeaGreen extends BotStageEvent
:
: @enduml
: ```
:
:
:
: 继承 [InternalEvent](#InternalEvent), [BotEvent](#d-bot-event)。
:
:
:
:
: BotRegisteredEvent
: : 当一个 Bot 已经在某个 `BotManager` 中被注册后的事件。
:
:
: BotStartedEvent
: : 当一个 Bot **首次** 启动成功后的事件。

### InternalMessageInteractionEvent 内部消息行为事件

InternalMessageInteractionEvent
: 在内部一个跟 `Message` 的交互有关的事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalEvent extends Event
: interface InternalNotificationEvent extends InternalEvent
: interface InternalInterceptionEvent extends InternalEvent
:
: interface InternalMessageInteractionEvent ##[bold]LightSeaGreen extends InternalEvent
: interface InternalMessagePreSendEvent ##[bold]LightSeaGreen extends InternalInterceptionEvent, InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent ##[bold]LightSeaGreen extends InternalMessageInteractionEvent, InternalNotificationEvent
:
: @enduml
: ```
:
:
:
: 继承 [InternalEvent](#InternalEvent) 。
:
:
:
:
: InternalMessagePreSendEvent
: : 针对消息交互时的内部拦截事件，可以对其中的参数进行修改。
:
:
: InternalMessagePostSendEvent
: : 针对消息发送 (例如 `SendSupport.send` 或 `ReplySupport.reply`) 成功后的内部通知事件。 会在相关API执行成功后带着它的相关结果进行异步通知

#### SendSupportInteractionEvent SendSupport 行为事件

SendSupportInteractionEvent
: 针对 `SendSupport` 的内部交互事件，包括送信前的拦截与送信成功后的通知。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface Event
: interface BotEvent extends Event
: interface InternalMessageInteractionEvent extends Event
: interface InternalMessagePreSendEvent extends InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
:
: interface SendSupportInteractionEvent ##[bold]LightSeaGreen extends BotEvent, InternalMessageInteractionEvent
: interface SendSupportPreSendEvent ##[bold]LightSeaGreen extends SendSupportInteractionEvent, InternalMessagePreSendEvent
: interface SendSupportPostSendEvent ##[bold]LightSeaGreen extends SendSupportInteractionEvent, InternalMessagePostSendEvent
:
: @enduml
: ```
:
:
:
:
: SendSupportPreSendEvent
: : 针对 `SendSupport.send` 的内部拦截事件。可以对其中的参数进行修改。
:
:
: SendSupportPostSendEvent
: : 针对 `SendSupport.send` 的内部通知事件。会在 `SendSupport.send` 执行成功后带着它的相关结果进行异步通知。

ContactInteractionEvent
: 针对 `Contact.send` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface Event
: interface InternalMessageInteractionEvent extends Event
: interface InternalMessagePreSendEvent extends InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
:
: interface SendSupportInteractionEvent extends InternalMessageInteractionEvent
: interface SendSupportPreSendEvent extends SendSupportInteractionEvent, InternalMessagePreSendEvent
: interface SendSupportPostSendEvent extends SendSupportInteractionEvent, InternalMessagePostSendEvent
:
: interface ContactInteractionEvent ##[bold]LightSeaGreen extends SendSupportInteractionEvent
: interface ContactPreSendEvent ##[bold]LightSeaGreen extends ContactInteractionEvent, SendSupportPreSendEvent
: interface ContactPostSendEvent ##[bold]LightSeaGreen extends ContactInteractionEvent, SendSupportPostSendEvent
:
: @enduml
: ```
:
:
:
:
: ContactPreSendEvent
: : 针对 `Contact.send` 的内部交互事件, 在 `Contact.send` 执行前拦截。
:
:
: ContactPostSendEvent
: : 针对 `Contact.send` 的内部交互事件, 在 `Contact.send` 执行后通知。

MemberInteractionEvent
: ```PLANTUML
: @startuml
:
: interface Event
: interface InternalMessageInteractionEvent extends Event
: interface InternalMessagePreSendEvent extends InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
:
: interface SendSupportInteractionEvent extends InternalMessageInteractionEvent
: interface SendSupportPreSendEvent extends SendSupportInteractionEvent, InternalMessagePreSendEvent
: interface SendSupportPostSendEvent extends SendSupportInteractionEvent, InternalMessagePostSendEvent
:
: interface MemberInteractionEvent ##[bold]LightSeaGreen extends SendSupportInteractionEvent
: interface MemberPreSendEvent ##[bold]LightSeaGreen extends MemberInteractionEvent, SendSupportPreSendEvent
: interface MemberPostSendEvent ##[bold]LightSeaGreen extends MemberInteractionEvent, SendSupportPostSendEvent
:
: @enduml
: ```
:
:
:
:
: MemberPreSendEvent
: : 针对 `Member.send` 的内部交互事件, 在 `Member.send` 执行前拦截。
:
:
: MemberPostSendEvent
: : 针对 `Member.send` 的内部交互事件, 在 `Member.send` 执行后通知。

ChatRoomInteractionEvent
: 针对 `ChatRoom` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface Event
: interface InternalMessageInteractionEvent extends Event
: interface InternalMessagePreSendEvent extends InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
:
: interface SendSupportInteractionEvent extends InternalMessageInteractionEvent
: interface SendSupportPreSendEvent extends SendSupportInteractionEvent, InternalMessagePreSendEvent
: interface SendSupportPostSendEvent extends SendSupportInteractionEvent, InternalMessagePostSendEvent
:
: interface ChatRoomInteractionEvent ##[bold]LightSeaGreen extends SendSupportInteractionEvent
: interface ChatRoomPreSendEvent ##[bold]LightSeaGreen extends ChatRoomInteractionEvent, SendSupportPreSendEvent
: interface ChatRoomPostSendEvent ##[bold]LightSeaGreen extends ChatRoomInteractionEvent, SendSupportPostSendEvent
:
: interface ChatGroupInteractionEvent ##[bold]LightSkyBlue extends ChatRoomInteractionEvent
: interface ChatGroupPreSendEvent ##[bold]LightSkyBlue extends ChatGroupInteractionEvent, ChatRoomPreSendEvent
: interface ChatGroupPostSendEvent ##[bold]LightSkyBlue extends ChatGroupInteractionEvent, ChatRoomPostSendEvent
: interface ChatChannelInteractionEvent ##[bold]LightSkyBlue extends ChatRoomInteractionEvent
: interface ChatChannelPreSendEvent ##[bold]LightSkyBlue extends ChatChannelInteractionEvent, ChatRoomPreSendEvent
: interface ChatChannelPostSendEvent ##[bold]LightSkyBlue extends ChatChannelInteractionEvent, ChatRoomPostSendEvent
: @enduml
: ```
:
:
:
:
: ChatRoomPreSendEvent
: : 针对 `ChatRoom.send` 的内部交互事件, 在 `ChatRoom.send` 执行前拦截。
:
:
: ChatRoomPostSendEvent
: : 针对 `ChatRoom.send` 的内部交互事件, 在 `ChatRoom.send` 执行后通知。
:
:
: ChatGroupInteractionEvent
: : 针对 `ChatGroup` 的内部交互事件
:
:
: ChatGroupPreSendEvent
: : 针对 `ChatGroup.send` 的内部交互事件, 在 `ChatGroup.send` 执行前拦截。
:
:
: ChatGroupPostSendEvent
: : 针对 `ChatGroup.send` 的内部交互事件, 在 `ChatGroup.send` 执行后通知。
:
:
: ChatChannelInteractionEvent
: : 针对 `ChatChannel` 的内部交互事件
: :
: :
: :
: : ChatChannelPreSendEvent
: : : 针对 `ChatChannel.send` 的内部交互事件, 在 `ChatChannel.send` 执行前拦截。
: :
: :
: : ChatChannelPostSendEvent
: : : 针对 `ChatChannel.send` 的内部交互事件, 在 `ChatChannel.send` 执行后通知。

#### ReplySupportInteractionEvent ReplySupport 行为事件

ReplySupportInteractionEvent
: 针对 `ReplySupport` 的内部交互事件，包括送信前的拦截与送信成功后的通知。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface Event
: interface BotEvent extends Event
: interface InternalMessageInteractionEvent extends Event
: interface InternalMessagePreSendEvent extends InternalMessageInteractionEvent
: interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
:
: interface ReplySupportInteractionEvent ##[bold]LightSeaGreen extends BotEvent, InternalMessageInteractionEvent
: interface ReplySupportPreReplyEvent ##[bold]LightSeaGreen extends ReplySupportInteractionEvent, InternalMessagePreSendEvent
: interface ReplySupportPostReplyEvent ##[bold]LightSeaGreen extends ReplySupportInteractionEvent, InternalMessagePostSendEvent
: @enduml
: ```
:
:
:
:
: ReplySupportPreReplyEvent
: : 针对 `ReplySupport.reply` 的内部拦截事件。 可以对其中的参数进行修改。
:
:
: ReplySupportPostReplyEvent
: : 针对 `ReplySupport.reply` 的内部通知事件。 会在 `ReplySupport.reply` 执行成功后带着它的相关结果进行异步通知。

MessageEventInteractionEvent
: 针对 `MessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface ReplySupportInteractionEvent extends InternalMessageInteractionEvent
: interface ReplySupportPreReplyEvent extends ReplySupportInteractionEvent
: interface ReplySupportPostReplyEvent extends ReplySupportInteractionEvent
:
: interface MessageEventInteractionEvent ##[bold]LightSeaGreen extends ReplySupportInteractionEvent
: interface MessageEventPreReplyEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent, ReplySupportPreReplyEvent
: interface MessageEventPostReplyEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent, ReplySupportPostReplyEvent
: @enduml
: ```
:
:
:
:
: MessageEventPreReplyEvent
: : 针对 `MessageEvent.reply` 的内部拦截事件。 可以对其中的参数进行修改。
:
:
: MessageEventPostReplyEvent
: : 针对 `MessageEvent.reply` 的内部通知事件。 会在 `MessageEvent.reply` 执行成功后带着它的相关结果进行异步通知。

ContactMessageEventInteractionEvent
: 针对 `ContactMessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface MessageEventInteractionEvent extends InternalMessageInteractionEvent
: interface MessageEventPreReplyEvent extends MessageEventInteractionEvent
: interface MessageEventPostReplyEvent extends MessageEventInteractionEvent
:
:
: interface ContactMessageEventInteractionEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent
: interface ContactMessageEventPreReplyEvent ##[bold]LightSeaGreen extends ContactMessageEventInteractionEvent, MessageEventPreReplyEvent
: interface ContactMessageEventPostReplyEvent ##[bold]LightSeaGreen extends ContactMessageEventInteractionEvent, MessageEventPostReplyEvent
: @enduml
: ```
:
:
:
:
: ContactMessageEventPreReplyEvent
: : 针对 `ContactMessageEvent.reply` 的拦截事件。
:
:
: ContactMessageEventPostReplyEvent
: : 针对 `ContactMessageEvent.reply` 的通知事件。

ChatRoomMessageEventInteractionEvent
: 针对 `ChatRoomMessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface MessageEventInteractionEvent extends InternalMessageInteractionEvent
: interface MessageEventPreReplyEvent extends MessageEventInteractionEvent
: interface MessageEventPostReplyEvent extends MessageEventInteractionEvent
:
: interface ChatRoomMessageEventInteractionEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent
: interface ChatRoomMessageEventPreReplyEvent ##[bold]LightSeaGreen extends ChatRoomMessageEventInteractionEvent, MessageEventPreReplyEvent
: interface ChatRoomMessageEventPostReplyEvent ##[bold]LightSeaGreen extends ChatRoomMessageEventInteractionEvent, MessageEventPostReplyEvent
:
: interface ChatGroupMessageEventInteractionEvent ##[bold]LightSkyBlue extends ChatRoomMessageEventInteractionEvent
: interface ChatGroupMessageEventPreReplyEvent ##[bold]LightSkyBlue extends ChatGroupMessageEventInteractionEvent, ChatRoomMessageEventPreReplyEvent
: interface ChatGroupMessageEventPostReplyEvent ##[bold]LightSkyBlue extends ChatGroupMessageEventInteractionEvent, ChatRoomMessageEventPostReplyEvent
: interface ChatChannelMessageEventInteractionEvent ##[bold]LightBlue extends ChatRoomMessageEventInteractionEvent
: interface ChatChannelMessageEventPreReplyEvent ##[bold]LightBlue extends ChatChannelMessageEventInteractionEvent, ChatRoomMessageEventPreReplyEvent
: interface ChatChannelMessageEventPostReplyEvent ##[bold]LightBlue extends ChatChannelMessageEventInteractionEvent, ChatRoomMessageEventPostReplyEvent
:
: @enduml
: ```
:
:
:
:
: ChatRoomMessageEventPreReplyEvent
: : 针对 `ChatRoomMessageEvent.reply` 的拦截事件。
:
:
: ChatRoomMessageEventPostReplyEvent
: : 针对 `ChatRoomMessageEvent.reply` 的通知事件。

MemberMessageEventInteractionEvent
: 针对 `MemberMessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface MessageEventInteractionEvent extends InternalMessageInteractionEvent
: interface MessageEventPreReplyEvent extends MessageEventInteractionEvent
: interface MessageEventPostReplyEvent extends MessageEventInteractionEvent
:
: interface MemberMessageEventInteractionEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent
: interface MemberMessageEventPreReplyEvent ##[bold]LightSeaGreen extends MemberMessageEventInteractionEvent, MessageEventPreReplyEvent
: interface MemberMessageEventPostReplyEvent ##[bold]LightSeaGreen extends MemberMessageEventInteractionEvent, MessageEventPostReplyEvent
: @enduml
: ```
:
:
:
:
: MemberMessageEventPreReplyEvent
: : 针对 `MemberMessageEvent.reply` 的拦截事件。
:
:
: MemberMessageEventPostReplyEvent
: : 针对 `MemberMessageEvent.reply` 的通知事件。

GuildMemberMessageEventInteractionEvent
: 针对 `GuildMemberMessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface MessageEventInteractionEvent extends InternalMessageInteractionEvent
: interface MessageEventPreReplyEvent extends MessageEventInteractionEvent
: interface MessageEventPostReplyEvent extends MessageEventInteractionEvent
:
: interface GuildMemberMessageEventInteractionEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent
: interface GuildMemberMessageEventPreReplyEvent ##[bold]LightSeaGreen extends GuildMemberMessageEventInteractionEvent, MessageEventPreReplyEvent
: interface GuildMemberMessageEventPostReplyEvent ##[bold]LightSeaGreen extends GuildMemberMessageEventInteractionEvent, MessageEventPostReplyEvent
: @enduml
: ```
:
:
:
:
: GuildMemberMessageEventPreReplyEvent
: : 针对 `GuildMemberMessageEvent.reply` 的拦截事件。
:
:
: GuildMemberMessageEventPostReplyEvent
: : 针对 `GuildMemberMessageEvent.reply` 的通知事件。

ChatGroupMemberMessageEventInteractionEvent
: 针对 `ChatGroupMemberMessageEvent.reply` 的内部交互事件。
:
:
:
:
: ```PLANTUML
: @startuml
:
: interface InternalMessageInteractionEvent extends Event
:
: interface MessageEventInteractionEvent extends InternalMessageInteractionEvent
: interface MessageEventPreReplyEvent extends MessageEventInteractionEvent
: interface MessageEventPostReplyEvent extends MessageEventInteractionEvent
:
: interface ChatGroupMemberMessageEventInteractionEvent ##[bold]LightSeaGreen extends MessageEventInteractionEvent
: interface ChatGroupMemberMessageEventPreReplyEvent ##[bold]LightSeaGreen extends ChatGroupMemberMessageEventInteractionEvent, MessageEventPreReplyEvent
: interface ChatGroupMemberMessageEventPostReplyEvent ##[bold]LightSeaGreen extends ChatGroupMemberMessageEventInteractionEvent, MessageEventPostReplyEvent
: @enduml
: ```
:
:
:
:
: ChatGroupMemberMessageEventPreReplyEvent
: : 针对 `ChatGroupMemberMessageEvent.reply` 的拦截事件。
:
:
: ChatGroupMemberMessageEventPostReplyEvent
: : 针对 `ChatGroupMemberMessageEvent.reply` 的通知事件。

## 完整类关系图

> **Tip:**
> 自动生成的。

```PLANTUML
@startuml

interface ActorEvent extends BotEvent, ContentEvent
interface ContactEvent extends ActorEvent
interface OrganizationEvent extends ActorEvent
interface ChatRoomEvent extends ActorEvent
interface ChatGroupEvent extends ChatRoomEvent, OrganizationEvent
interface GuildEvent extends OrganizationEvent
interface OrganizationSourceEvent extends BotEvent, SourceEvent
interface ChannelEvent extends ActorEvent, OrganizationSourceEvent
interface ChatChannelEvent extends ChannelEvent, ChatRoomEvent
interface MemberEvent extends ActorEvent, OrganizationSourceEvent
interface ChatGroupMemberEvent extends MemberEvent
interface GuildMemberEvent extends MemberEvent
interface BotStageEvent extends InternalNotificationEvent, BotEvent
interface BotRegisteredEvent extends BotStageEvent
interface BotStartedEvent extends BotStageEvent
interface Event
interface ComponentEvent extends Event
interface BotEvent extends ComponentEvent
interface ContentEvent extends Event
interface SourceEvent extends Event
interface ChangeEvent extends ContentEvent
interface InternalEvent extends Event
interface InternalNotificationEvent extends InternalEvent
interface InternalInterceptionEvent extends InternalEvent
interface InternalMessageInteractionEvent extends InternalEvent
interface InternalMessagePreSendEvent extends InternalInterceptionEvent, InternalMessageInteractionEvent
interface InternalMessagePostSendEvent extends InternalMessageInteractionEvent
interface MemberChangeEvent extends ChangeEvent, MemberEvent
interface GuildMemberChangeEvent extends ChangeEvent, GuildMemberEvent
interface GroupMemberChangeEvent extends ChangeEvent, ChatGroupMemberEvent
interface MessageContentAwareEvent extends Event
interface MessageEvent extends BotEvent, MessageContentAwareEvent
interface AuthorAwareMessageEvent extends MessageEvent
interface ActorAuthorAwareMessageEvent extends AuthorAwareMessageEvent
interface MemberAuthorAwareMessageEvent extends ActorAuthorAwareMessageEvent
interface ChatRoomMessageEvent extends MessageEvent, ChatRoomEvent
interface ChatGroupMessageEvent extends ChatRoomMessageEvent, ChatGroupEvent, MemberAuthorAwareMessageEvent
interface ChatChannelMessageEvent extends ChatRoomMessageEvent, ChatChannelEvent, MemberAuthorAwareMessageEvent
interface MemberMessageEvent extends MessageEvent, MemberEvent
interface ChatGroupMemberMessageEvent extends MessageEvent, MemberEvent
interface GuildMemberMessageEvent extends MessageEvent, MemberEvent
interface ContactMessageEvent extends MessageEvent, ContactEvent
interface OrganizationChangeEvent extends ChangeEvent, OrganizationEvent
interface MemberIncreaseOrDecreaseEvent extends OrganizationChangeEvent
interface MemberIncreaseEvent extends MemberIncreaseOrDecreaseEvent
interface MemberDecreaseEvent extends MemberIncreaseOrDecreaseEvent
interface ChatGroupMemberIncreaseOrDecreaseEvent extends MemberIncreaseOrDecreaseEvent, ChatGroupEvent
interface ChatGroupMemberIncreaseEvent extends MemberIncreaseEvent, ChatGroupMemberIncreaseOrDecreaseEvent
interface ChatGroupMemberDecreaseEvent extends MemberDecreaseEvent, ChatGroupMemberIncreaseOrDecreaseEvent
interface GuildMemberIncreaseOrDecreaseEvent extends MemberIncreaseOrDecreaseEvent, GuildEvent
interface GuildMemberIncreaseEvent extends MemberIncreaseEvent, GuildMemberIncreaseOrDecreaseEvent
interface GuildMemberDecreaseEvent extends MemberDecreaseEvent, GuildMemberIncreaseOrDecreaseEvent
interface ReplySupportInteractionEvent extends BotEvent, InternalMessageInteractionEvent
interface ReplySupportPreReplyEvent extends ReplySupportInteractionEvent, InternalMessagePreSendEvent
interface ReplySupportPostReplyEvent extends ReplySupportInteractionEvent, InternalMessagePostSendEvent
interface MessageEventInteractionEvent extends ReplySupportInteractionEvent
interface MessageEventPreReplyEvent extends MessageEventInteractionEvent, ReplySupportPreReplyEvent
interface MessageEventPostReplyEvent extends MessageEventInteractionEvent, ReplySupportPostReplyEvent
interface ContactMessageEventInteractionEvent extends MessageEventInteractionEvent
interface ContactMessageEventPreReplyEvent extends ContactMessageEventInteractionEvent, MessageEventPreReplyEvent
interface ContactMessageEventPostReplyEvent extends ContactMessageEventInteractionEvent, MessageEventPostReplyEvent
interface ChatRoomMessageEventInteractionEvent extends MessageEventInteractionEvent
interface ChatRoomMessageEventPreReplyEvent extends ChatRoomMessageEventInteractionEvent, MessageEventPreReplyEvent
interface ChatRoomMessageEventPostReplyEvent extends ChatRoomMessageEventInteractionEvent, MessageEventPostReplyEvent
interface ChatGroupMessageEventInteractionEvent extends ChatRoomMessageEventInteractionEvent
interface ChatGroupMessageEventPreReplyEvent extends ChatGroupMessageEventInteractionEvent, ChatRoomMessageEventPreReplyEvent
interface ChatGroupMessageEventPostReplyEvent extends ChatGroupMessageEventInteractionEvent, ChatRoomMessageEventPostReplyEvent
interface ChatChannelMessageEventInteractionEvent extends ChatRoomMessageEventInteractionEvent
interface ChatChannelMessageEventPreReplyEvent extends ChatChannelMessageEventInteractionEvent, ChatRoomMessageEventPreReplyEvent
interface ChatChannelMessageEventPostReplyEvent extends ChatChannelMessageEventInteractionEvent, ChatRoomMessageEventPostReplyEvent
interface MemberMessageEventInteractionEvent extends MessageEventInteractionEvent
interface MemberMessageEventPreReplyEvent extends MemberMessageEventInteractionEvent, MessageEventPreReplyEvent
interface MemberMessageEventPostReplyEvent extends MemberMessageEventInteractionEvent, MessageEventPostReplyEvent
interface GuildMemberMessageEventInteractionEvent extends MessageEventInteractionEvent
interface GuildMemberMessageEventPreReplyEvent extends GuildMemberMessageEventInteractionEvent, MessageEventPreReplyEvent
interface GuildMemberMessageEventPostReplyEvent extends GuildMemberMessageEventInteractionEvent, MessageEventPostReplyEvent
interface ChatGroupMemberMessageEventInteractionEvent extends MessageEventInteractionEvent
interface ChatGroupMemberMessageEventPreReplyEvent extends ChatGroupMemberMessageEventInteractionEvent, MessageEventPreReplyEvent
interface ChatGroupMemberMessageEventPostReplyEvent extends ChatGroupMemberMessageEventInteractionEvent, MessageEventPostReplyEvent
interface RequestEvent extends BotEvent
interface OrganizationRequestEvent extends RequestEvent, OrganizationEvent
interface OrganizationJoinRequestEvent extends OrganizationRequestEvent
interface ChatGroupJoinRequestEvent extends OrganizationJoinRequestEvent, ChatGroupEvent
interface GuildJoinRequestEvent extends OrganizationJoinRequestEvent, GuildEvent
interface SendSupportInteractionEvent extends BotEvent, InternalMessageInteractionEvent
interface SendSupportPreSendEvent extends SendSupportInteractionEvent, InternalMessagePreSendEvent
interface SendSupportPostSendEvent extends SendSupportInteractionEvent, InternalMessagePostSendEvent
interface ContactInteractionEvent extends SendSupportInteractionEvent
interface ContactPreSendEvent extends ContactInteractionEvent, SendSupportPreSendEvent
interface ContactPostSendEvent extends ContactInteractionEvent, SendSupportPostSendEvent
interface MemberInteractionEvent extends SendSupportInteractionEvent
interface MemberPreSendEvent extends MemberInteractionEvent, SendSupportPreSendEvent
interface MemberPostSendEvent extends MemberInteractionEvent, SendSupportPostSendEvent
interface ChatRoomInteractionEvent extends SendSupportInteractionEvent
interface ChatRoomPreSendEvent extends ChatRoomInteractionEvent, SendSupportPreSendEvent
interface ChatRoomPostSendEvent extends ChatRoomInteractionEvent, SendSupportPostSendEvent
interface ChatGroupInteractionEvent extends ChatRoomInteractionEvent
interface ChatGroupPreSendEvent extends ChatGroupInteractionEvent, ChatRoomPreSendEvent
interface ChatGroupPostSendEvent extends ChatGroupInteractionEvent, ChatRoomPostSendEvent
interface ChatChannelInteractionEvent extends ChatRoomInteractionEvent
interface ChatChannelPreSendEvent extends ChatChannelInteractionEvent, ChatRoomPreSendEvent
interface ChatChannelPostSendEvent extends ChatChannelInteractionEvent, ChatRoomPostSendEvent

@enduml
```

