# 事件

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

## 原始事件

我们根据 OneBot11 协议中定义的所有事件结构， 在模块 `simbot-component-onebot-v11-event` 中提供了所有的实现类型。 它们是最基础的可序列化数据类，不含有任何功能。

元事件 RawMetaEvent
: [元事件](https://github.com/botuniverse/onebot-11/blob/master/event/meta.md)
:
:
:
:
: RawHeartbeatEvent
: : [心跳](https://github.com/botuniverse/onebot-11/blob/master/event/meta.md#心跳)
:
:
: RawLifecycleEvent
: : [生命周期](https://github.com/botuniverse/onebot-11/blob/master/event/meta.md#生命周期)

消息事件 RawMessageEvent
: [消息事件](https://github.com/botuniverse/onebot-11/blob/master/event/message.md#消息事件)
:
:
:
:
: RawGroupMessageEvent
: : [群消息事件](https://github.com/botuniverse/onebot-11/blob/master/event/message.md#群消息)
:
:
: RawPrivateMessageEvent
: : [私聊消息事件](https://github.com/botuniverse/onebot-11/blob/master/event/message.md#私聊消息)

请求事件 RawRequestEvent
: [请求事件](https://github.com/botuniverse/onebot-11/blob/master/event/request.md)
:
:
:
:
: RawFriendRequestEvent
: : [加好友请求](https://github.com/botuniverse/onebot-11/blob/master/event/request.md#加好友请求)
:
:
: RawGroupRequestEvent
: : [加群请求／邀请](https://github.com/botuniverse/onebot-11/blob/master/event/request.md#加群请求邀请)

通知事件 RawNoticeEvent
: [通知事件](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md)
:
:
:
:
: RawFriendAddEvent
: : [好友添加](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#好友添加)
:
:
: RawFriendRecallEvent
: : [好友消息撤回](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#好友消息撤回)
:
:
: RawGroupAdminEvent
: : [群管理员变动](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群管理员变动)
:
:
: RawGroupBanEvent
: : [群禁言](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群禁言)
:
:
: RawGroupDecreaseEvent
: : [群成员减少](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群成员减少)
:
:
: RawGroupIncreaseEvent
: : [群成员增加](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群成员增加)
:
:
: RawGroupRecallEvent
: : [群消息撤回](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群消息撤回)
:
:
: RawGroupUploadEvent
: : [群文件上传](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群文件上传)
:
:
: RawNotifyEvent
: : [群成员荣誉变更](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群成员荣誉变更)、 [群红包运气王](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群红包运气王)、 [群内戳一戳](https://github.com/botuniverse/onebot-11/blob/master/event/notice.md#群内戳一戳) 等通知相关的事件。

未知事件 UnknownEvent
: 一个特殊的事件类型。 它是当遇到无法被上述这些类型所解析时使用的兜底类型，比如遇到未知的 `type` 或由于各种原因导致反序列化失败。
:
:
:
: 它不可序列化，除 `time`、`selfId`、`postType` 之外直接提供 `raw` 属性(也就是原始的JSON字符串)。

## 组件事件

组件实现是基于simbot标准API中定义的事件类型、对上述原始事件的包装， 并提供相对应的功能性API实现。

OneBotMessageEvent
: 与消息相关的事件。
:
:
: OneBotGroupMessageEvent
: : 与群消息相关的事件。
: :
: :
: : OneBotNormalGroupMessageEvent
: : : 与普通群消息相关的事件。
: :
: :
: : OneBotAnonymousGroupMessageEvent
: : : 与匿名群消息相关的事件。
: :
: :
: : OneBotNoticeGroupMessageEvent
: : : 与群系统消息通知相关的事件。
:
:
: OneBotPrivateMessageEvent
: : 与私聊消息相关的事件。
: :
: :
: : OneBotFriendMessageEvent
: : : 好友私信消息事件。
: :
: :
: : OneBotGroupPrivateMessageEvent
: : : 群成员临时会话消息事件。

OneBotMetaEvent
: 元数据相关的事件
:
:
: OneBotLifecycleEvent
: : 生命周期事件
:
:
: OneBotHeartbeatEvent
: : 心跳事件

OneBotRequestEvent
: 请求相关的事件
:
:
: OneBotFriendRequestEvent
: : 好友添加申请
:
:
: OneBotGroupRequestEvent
: : 群添加申请

OneBotNoticeEvent
: 通知相关的事件。
:
:
: OneBotFriendAddEvent
: : 好友已添加事件
:
:
: OneBotFriendRecallEvent
: : 好友消息撤回事件
:
:
: OneBotGroupAdminEvent
: : 管理员变动事件
:
:
: OneBotGroupBanEvent
: : 群禁言事件
:
:
: OneBotGroupChangeEvent
: : 群成员变动事件
:
:
: OneBotGroupMemberIncreaseEvent
: : 群成员添加事件
:
:
: OneBotGroupMemberDecreaseEvent
: : 群成员离开事件
:
:
: OneBotGroupRecallEvent
: : 群消息撤回事件
:
:
: OneBotGroupUploadEvent
: : 群文件上传事件
:
:
: OneBotNotifyEvent
: : 群荣耀事件、红包人气王事件或戳一戳事件。
: :
: : > **Warning: 实现接口的变更**
: : > v1.4.0 之前，`OneBotNotifyEvent` 实现 `MemberEvent` ， 从 `v1.4.0` 开始则不再实现 `MemberEvent`，并独立出一个下述的 `OneBotGroupNotifyEvent` 类型， 改为由此类型实现 `MemberEvent`。
: :
: :
: :
: :
: : OneBotGroupNotifyEvent
: : : `v1.4.0` 后添加，是 `OneBotNotifyEvent` 的子类型，用来描述那些发生在群里的通知事件。
: : :
: : :
: : :
: : :
: : : OneBotHonorEvent
: : : : 群荣耀事件
: : :
: : :
: : : OneBotLuckyKingEvent
: : : : 红包人气王事件
: : :
: : :
: : : OneBotPokeEvent
: : : : 戳一戳事件
: : :
: : :
: : : OneBotMemberPokeEvent
: : : : 戳一戳(普通群成员被戳)事件
: : :
: : :
: : : OneBotBotSelfPokeEvent
: : : : 戳一戳(Bot被戳)事件
: :
: :
: : OneBotPrivatePokeEvent
: : : `v1.4.0` 后添加，用来描述私聊里的戳一戳事件，实现 `OneBotPokeEvent`。 此事件中的 `groupId` 始终为 `null`。

OneBotInternalEvent
: 与OneBot协议本身无关的用于内部流转或拦截的事件。
:
:
: OneBotBotStageEvent
: : 与OneBot协议本身无关的Bot的阶段事件。
: :
: :
: : OneBotBotRegisteredEvent
: : : 一个 `OneBotBot` 被注册了的事件
: :
: :
: : OneBotBotStartedEvent
: : : 一个 `OneBotBot` 被(首次)启动了的事件
:
:
: OneBotInternalMessageInteractionEvent
: : OneBot 组件中与 Message 交互有关的事件。
: :
: :
: :
: : > **Tip:**
: : > 自 `v1.6.0` 起添加。可参考 [OneBot组件#177](https://github.com/simple-robot/simbot-component-onebot/pull/177)。
: :
: :
: :
: : 基础类型
: :
: :
: :
: :
: : OneBotInternalMessagePreSendEvent
: : : OneBot 组件针对消息发送前的拦截事件。 继承 `InternalMessagePreSendEvent`
: :
: :
: : OneBotInternalMessagePostSendEvent
: : : OneBot 组件针对消息发送后的通知事件。 继承 `InternalMessagePostSendEvent`
: :
: :
: :
: :
: : `SendSupport` 相关类型
: :
: :
: :
: :
: : OneBotSendSupportInteractionEvent
: : : `SendSupport.send` 的行为事件
: :
: :
: : OneBotSendSupportPreSendEvent
: : : `SendSupport.send` 的拦截事件
: :
: :
: : OneBotSendSupportPostSendEvent
: : : `SendSupport.send` 的通知事件
: :
: :
: :
: :
: : `SendSupport` 相关类型细分子类型
: :
: :
: :
: :
: : OneBotGroupInteractionEvent
: : : `OneBotGroup.send` 的行为事件
: : :
: : :
: : : OneBotGroupPreSendEvent
: : : : `OneBotGroup.send` 的拦截事件
: : :
: : :
: : : OneBotGroupPostSendEvent
: : : : `OneBotGroup.send` 的通知事件
: :
: :
: : OneBotFriendInteractionEvent
: : : `OneBotFriend.send` 的行为事件
: : :
: : :
: : : OneBotFriendPreSendEvent
: : : : `OneBotFriend.send` 的拦截事件
: : :
: : :
: : : OneBotFriendPostSendEvent
: : : : `OneBotFriend.send` 的通知事件
: :
: :
: : OneBotMemberInteractionEvent
: : : `OneBotMember.send` 的行为事件
: : :
: : :
: : : OneBotMemberPreSendEvent
: : : : `OneBotMember.send` 的拦截事件
: : :
: : :
: : : OneBotMemberPostSendEvent
: : : : `OneBotMember.send` 的通知事件
: :
: :
: :
: :
: : `ReplySupport` (`MessageEvent`) 相关类型
: :
: :
: :
: :
: : OneBotMessageEventInteractionEvent
: : : `OneBotMessageEvent.reply` 的行为事件
: :
: :
: : OneBotMessageEventPreReplyEvent
: : : `OneBotMessageEvent.reply` 的拦截事件
: :
: :
: : OneBotMessageEventPostReplyEvent
: : : `OneBotMessageEvent.reply` 的通知事件
: :
: :
: :
: :
: : `ReplySupport` (`MessageEvent`) 相关类型细分子类型
: :
: :
: :
: : 群聊相关
: :
: :
: :
: :
: : OneBotGroupMessageEventInteractionEvent
: : : `OneBotGroupMessageEvent.reply` 的行为事件
: :
: :
: : OneBotGroupMessageEventPreReplyEvent
: : : `OneBotGroupMessageEvent.reply` 的拦截事件
: :
: :
: : OneBotGroupMessageEventPostReplyEvent
: : : `OneBotGroupMessageEvent.reply` 的通知事件
: :
: :
: : OneBotNormalGroupMessageEventInteractionEvent
: : : `OneBotNormalGroupMessageEvent.reply` 的行为事件
: :
: :
: : OneBotNormalGroupMessageEventPreReplyEvent
: : : `OneBotNormalGroupMessageEvent.reply` 的拦截事件
: :
: :
: : OneBotNormalGroupMessageEventPostReplyEvent
: : : `OneBotNormalGroupMessageEvent.reply` 的通知事件
: :
: :
: : OneBotAnonymousGroupMessageEventInteractionEvent
: : : `OneBotAnonymousGroupMessageEvent.reply` 的行为事件
: :
: :
: : OneBotAnonymousGroupMessageEventPreReplyEvent
: : : `OneBotAnonymousGroupMessageEvent.reply` 的拦截事件
: :
: :
: : OneBotAnonymousGroupMessageEventPostReplyEvent
: : : `OneBotAnonymousGroupMessageEvent.reply` 的通知事件
: :
: :
: : OneBotNoticeGroupMessageEventInteractionEvent
: : : `OneBotNoticeGroupMessageEvent.reply` 的行为事件
: :
: :
: : OneBotNoticeGroupMessageEventPreReplyEvent
: : : `OneBotNoticeGroupMessageEvent.reply` 的拦截事件
: :
: :
: : OneBotNoticeGroupMessageEventPostReplyEvent
: : : `OneBotNoticeGroupMessageEvent.reply` 的通知事件
: :
: :
: :
: :
: : 私聊相关
: :
: :
: :
: :
: : OneBotPrivateMessageEventInteractionEvent
: : : `OneBotPrivateMessageEvent.reply` 的行为类型
: :
: :
: : OneBotPrivateMessageEventPreReplyEvent
: : : `OneBotPrivateMessageEvent.reply` 的拦截类型
: :
: :
: : OneBotPrivateMessageEventPostReplyEvent
: : : `OneBotPrivateMessageEvent.reply` 的通知类型
: :
: :
: : OneBotGroupPrivateMessageEventInteractionEvent
: : : `OneBotGroupPrivateMessageEvent.reply` 的行为类型
: :
: :
: : OneBotGroupPrivateMessageEventPreReplyEvent
: : : `OneBotGroupPrivateMessageEvent.reply` 的拦截类型
: :
: :
: : OneBotGroupPrivateMessageEventPostReplyEvent
: : : `OneBotGroupPrivateMessageEvent.reply` 的通知类型
: :
: :
: : OneBotFriendMessageEventInteractionEvent
: : : `OneBotFriendMessageEvent.reply` 的行为类型
: :
: :
: : OneBotFriendMessageEventPreReplyEvent
: : : `OneBotFriendMessageEvent.reply` 的拦截类型
: :
: :
: : OneBotFriendMessageEventPostReplyEvent
: : : `OneBotFriendMessageEvent.reply` 的通知类型

### 未知事件

`OneBotUnknownEvent`

是对上述原始事件中的 `UnknownEvent` 类型的包装。

### 未支持事件

`OneBotUnsupportedEvent`

是当出现了原始事件中有(除了 `UnknownEvent`)、 但是尚未提供对应的组件事件实现的事件类型时用来兜底的类型。

这些原始事件类型会被统一装入此事件中。

## 事件关系

简单列举一下原始事件与可能对应的组件事件之间的关系。

| 原始事件类型 | 组件事件 |
| --- | --- |
| `RawMetaEvent` | `OneBotMetaEvent` |
| > `RawLifecycleEvent` | > `OneBotLifecycleEvent` |
| > `RawHeartbeatEvent` | > `OneBotHeartbeatEvent` |
| `RawMessageEvent` | `OneBotMessageEvent` |
| > `RawGroupMessageEvent` | > `OneBotGroupMessageEvent` |
| > `RawGroupMessageEvent` | > > `OneBotNormalGroupMessageEvent` |
| > `RawGroupMessageEvent` | > > `OneBotAnonymousGroupMessageEvent` |
| > `RawGroupMessageEvent` | > > `OneBotNoticeGroupMessageEvent` |
| > `RawPrivateMessageEvent` | > `OneBotPrivateMessageEvent` |
| > `RawPrivateMessageEvent` | > > `OneBotFriendMessageEvent` |
| > `RawPrivateMessageEvent` | > > `OneBotGroupPrivateMessageEvent` |
| `RawRequestEvent` | `OneBotRequestEvent` |
| > `RawFriendRequestEvent` | > `OneBotFriendRequestEvent` |
| > `RawGroupRequestEvent` | > `OneBotGroupRequestEvent` |
| `RawNoticeEvent` | `OneBotNoticeEvent` |
| > `RawFriendAddEvent` | > `OneBotFriendAddEvent` |
| > `RawFriendRecallEvent` | > `OneBotFriendRecallEvent` |
| > `RawGroupAdminEvent` | > `OneBotGroupAdminEvent` |
| > `RawGroupBanEvent` | > `OneBotGroupBanEvent` |
| > `RawGroupIncreaseEvent` 或 `RawGroupDecreaseEvent` | > `OneBotGroupChangeEvent` |
| > `RawGroupIncreaseEvent` | > > `OneBotGroupMemberIncreaseEvent` |
| > `RawGroupDecreaseEvent` | > > `OneBotGroupMemberDecreaseEvent` |
| > `RawGroupRecallEvent` | > `OneBotGroupRecallEvent` |
| > `RawGroupUploadEvent` | > `OneBotGroupUploadEvent` |
| > `RawNotifyEvent` | > `OneBotNotifyEvent` |
| > `RawNotifyEvent` |  > > `OneBotGroupNotifyEvent`   (since `v1.4.0`) |
| > `RawNotifyEvent` | > > > `OneBotHonorEvent` |
| > `RawNotifyEvent` | > > > `OneBotLuckyKingEvent` |
| > `RawNotifyEvent` | > > > `OneBotPokeEvent` |
| > `RawNotifyEvent` | > > > > `OneBotMemberPokeEvent` |
| > `RawNotifyEvent` | > > > > `OneBotBotSelfPokeEvent` |
| > `RawNotifyEvent` |  > > > > `OneBotPrivatePokeEvent`    (since `v1.4.0`) |
| `UnknownEvent` | > `UnknownEvent` |
| 无 | `OneBotBotStageEvent` |
| 无 | > `OneBotBotRegisteredEvent` |
| 无 | > `OneBotBotStartedEvent` |
| 任意未支持事件 | `OneBotUnsupportedEvent` |

