Simple Robot v4.6.0 Help

事件定义列表

KOOK组件中的事件类型包含两个层面:

  1. API 模块 中,对 KOOK API 中官方定义的事件结构的基本封装与实现。

  2. 核心模块 中,基于 API 模块中的事件封装,对 simbot4 标准库中的 Event 事件类型的实现。

API 模块事件封装

API 模块所有的事件封装类型都在包 love.forte.simbot.kook.event 中, 并且基本上命名与官网API中的事件类型名称有一定关联。

事件类型定义为 love.forte.simbot.kook.event.Event<out EX : EventExtra>, 而不同类型的事件之间的区别在于 EX 的差异。

所有事件的 extra 的封装类型均继承密封类 love.forte.simbot.kook.event.EventExtra

SelfJoinedGuildEventExtra

love.forte.simbot.kook.event.SelfJoinedGuildEventExtra

事件类型名: "self_joined_guild"

自己新加入服务器

SelfExitedGuildEventExtra

love.forte.simbot.kook.event.SelfExitedGuildEventExtra

事件类型名: "self_exited_guild"

自己退出服务器

MessageBtnClickEventExtra

love.forte.simbot.kook.event.MessageBtnClickEventExtra

事件类型名: "message_btn_click"

Card 消息中的 Button 点击事件

AddedChannelEventExtra

love.forte.simbot.kook.event.AddedChannelEventExtra

事件类型名: "added_channel"

新增频道

UpdatedChannelEventExtra

love.forte.simbot.kook.event.UpdatedChannelEventExtra

事件类型名: "updated_channel"

修改频道信息

DeletedChannelEventExtra

love.forte.simbot.kook.event.DeletedChannelEventExtra

事件类型名: "deleted_channel"

删除频道

AddedReactionEventExtra

love.forte.simbot.kook.event.AddedReactionEventExtra

事件类型名: "added_reaction"

频道内用户添加 reaction

DeletedReactionEventExtra

love.forte.simbot.kook.event.DeletedReactionEventExtra

事件类型名: "deleted_reaction"

频道内用户取消 reaction

UpdatedMessageEventExtra

love.forte.simbot.kook.event.UpdatedMessageEventExtra

事件类型名: "updated_message"

频道消息更新

DeletedMessageEventExtra

love.forte.simbot.kook.event.DeletedMessageEventExtra

事件类型名: "deleted_message"

频道消息被删除

PinnedMessageEventExtra

love.forte.simbot.kook.event.PinnedMessageEventExtra

事件类型名: "pinned_message"

新的频道置顶消息

UnpinnedMessageEventExtra

love.forte.simbot.kook.event.UnpinnedMessageEventExtra

事件类型名: "unpinned_message"

取消频道置顶消息

EventExtra

love.forte.simbot.kook.event.EventExtra

事件的消息 extra

** UnknownExtra**

UnknownExtra 与其他子类型有所不同。 UnknownExtra 是由框架定义并实现的特殊类型, 它用来承载那些接收后无法被解析或尚未支持的事件类型。

TextExtra

love.forte.simbot.kook.event.TextExtra

事件类型名: "text"

文字频道消息 extra

TextEventExtra

love.forte.simbot.kook.event.TextEventExtra

文字消息事件 extra

ImageEventExtra

love.forte.simbot.kook.event.ImageEventExtra

图片消息事件 extra

VideoEventExtra

love.forte.simbot.kook.event.VideoEventExtra

视频消息事件 extra

KMarkdownEventExtra

love.forte.simbot.kook.event.KMarkdownEventExtra

KMarkdown 消息事件 extra

CardEventExtra

love.forte.simbot.kook.event.CardEventExtra

Card 消息事件 extra

SystemExtra

love.forte.simbot.kook.event.SystemExtra

事件类型名: "sys"

系统事件消息 extra

UnknownExtra

love.forte.simbot.kook.event.UnknownExtra

事件类型名: "$$UNKNOWN"

当一个事件反序列化失败的时候,会被尝试使用 UnknownExtra 作为 extra 的序列化目标。 如果是因为一个未知的事件导致的这次失败,则 UnknownExtra 便会反序列化成功并被推送。 UnknownExtra 不会提供任何可反序列化的属性, 取而代之的是提供了 source 来获取本次反序列化失败的的原始JSON字符串信息。 你可以通过 source 来做一些临时性处理,例如解析并获取其中的信息。

FragileSimbotApi

UnknownExtra 类型的事件会随着支持的事件类型的增多而减少。 对可能造成 UnknownExtra 出现概率降低的更新不会做专门的提示。 因此使用 UnknownExtra 时应当明确了解其可能出现的内容,同时不可过分依赖它。

UpdateGuildEventExtra

love.forte.simbot.kook.event.UpdateGuildEventExtra

事件类型名: "updated_guild"

服务器信息更新

DeleteGuildEventExtra

love.forte.simbot.kook.event.DeleteGuildEventExtra

事件类型名: "deleted_guild"

服务器删除

AddBlockListEventExtra

love.forte.simbot.kook.event.AddBlockListEventExtra

事件类型名: "added_block_list"

服务器封禁用户

DeleteBlockListEventExtra

love.forte.simbot.kook.event.DeleteBlockListEventExtra

事件类型名: "deleted_block_list"

服务器取消封禁用户

AddedEmojiEventExtra

love.forte.simbot.kook.event.AddedEmojiEventExtra

事件类型名: "added_emoji"

服务器添加新表情

RemovedEmojiEventExtra

love.forte.simbot.kook.event.RemovedEmojiEventExtra

事件类型名: "removed_emoji"

服务器删除表情

UpdatedEmojiEventExtra

love.forte.simbot.kook.event.UpdatedEmojiEventExtra

事件类型名: "updated_emoji"

服务器更新表情

JoinedGuildEventExtra

love.forte.simbot.kook.event.JoinedGuildEventExtra

事件类型名: "joined_guild"

新成员加入服务器

ExitedGuildEventExtra

love.forte.simbot.kook.event.ExitedGuildEventExtra

事件类型名: "exited_guild"

服务器成员退出

UpdatedGuildMemberEventExtra

love.forte.simbot.kook.event.UpdatedGuildMemberEventExtra

事件类型名: "updated_guild_member"

服务器成员信息更新

GuildMemberOnlineEventExtra

love.forte.simbot.kook.event.GuildMemberOnlineEventExtra

事件类型名: "guild_member_online"

服务器成员上线

GuildMemberOfflineEventExtra

love.forte.simbot.kook.event.GuildMemberOfflineEventExtra

事件类型名: "guild_member_offline"

服务器成员下线

UpdatedPrivateMessageEventExtra

love.forte.simbot.kook.event.UpdatedPrivateMessageEventExtra

事件类型名: "updated_private_message"

私聊消息更新

DeletedPrivateMessageEventExtra

love.forte.simbot.kook.event.DeletedPrivateMessageEventExtra

事件类型名: "deleted_private_message"

私聊消息删除

AddedRoleEventExtra

love.forte.simbot.kook.event.AddedRoleEventExtra

事件类型名: "added_role"

服务器角色增加

DeletedRoleEventExtra

love.forte.simbot.kook.event.DeletedRoleEventExtra

事件类型名: "deleted_role"

服务器角色删除

UpdatedRoleEventExtra

love.forte.simbot.kook.event.UpdatedRoleEventExtra

事件类型名: "updated_role"

服务器角色更新

JoinedChannelEventExtra

love.forte.simbot.kook.event.JoinedChannelEventExtra

事件类型名: "joined_channel"

用户加入语音频道

ExitedChannelEventExtra

love.forte.simbot.kook.event.ExitedChannelEventExtra

事件类型名: "exited_channel"

用户退出语音频道

UserUpdatedEventExtra

love.forte.simbot.kook.event.UserUpdatedEventExtra

事件类型名: "user_updated"

用户信息更新 该事件与服务器无关, 遵循以下条件

  • 仅当用户的 用户名 或 头像 变更时;

  • 仅通知与该用户存在关联的用户或 Bot: a. 存在聊天会话 b. 双方好友关系

Simbot 标准库 Event 实现

使用核心库,可以在 simbot4 的 Application 或 Spring Boot 中使用这些事件类型实现。

核心模块所有的 simbot Event 实现类型定义都在包 love.forte.simbot.component.kook.event 中。

所有实现类型均继承 love.forte.simbot.component.kook.event.KookEvent

KookEvent

love.forte.simbot.component.kook.event.KookEvent

Kook 组件的事件类型基类。

KookBotEvent

love.forte.simbot.component.kook.event.KookBotEvent

KookEvent 下实现 BotEvent 的基础类型。

KookSystemEvent

love.forte.simbot.component.kook.event.KookSystemEvent

KookBotEvent系统事件 相关的事件基类。

KookBotRegisteredEvent

love.forte.simbot.component.kook.event.KookBotRegisteredEvent

当一个 KookBotKookBotManager 中被_注册_时。

KookBotStartedEvent

love.forte.simbot.component.kook.event.KookBotStartedEvent

KookBot 执行 start KookBot.start 之后推送的事件。

KookChannelChangedEvent

love.forte.simbot.component.kook.event.KookChannelChangedEvent

KOOK 系统事件中与 频道变更 相关的事件的simbot事件基准类。 涉及的 KOOK 原始事件 (的 SystemExtra 子类型) 有:

  • AddedChannelEventExtra

  • UpdatedChannelEventExtra

  • DeletedChannelEventExtra

KookAddedChannelEvent

love.forte.simbot.component.kook.event.KookAddedChannelEvent

某频道服务器中新增了一个频道后的事件。

KookUpdatedChannelEvent

love.forte.simbot.component.kook.event.KookUpdatedChannelEvent

某频道发生了信息变更。

KookDeletedChannelEvent

love.forte.simbot.component.kook.event.KookDeletedChannelEvent

某频道被删除的事件。

KookCategoryChangedEvent

love.forte.simbot.component.kook.event.KookCategoryChangedEvent

KOOK 系统事件中与 频道分组变更 相关的事件的simbot事件基准类。 涉及的 KOOK 原始事件 (的 SystemExtra 子类型) 有:

  • AddedChannelEventExtra

  • UpdatedChannelEventExtra

  • DeletedChannelEventExtra

KookAddedCategoryEvent

love.forte.simbot.component.kook.event.KookAddedCategoryEvent

某频道服务器中新增了一个频道分组后的事件。

KookUpdatedCategoryEvent

love.forte.simbot.component.kook.event.KookUpdatedCategoryEvent

某频道分组发生了信息变更。

KookDeletedCategoryEvent

love.forte.simbot.component.kook.event.KookDeletedCategoryEvent

某频道分组被删除的事件。

KookDeletedMessageEvent

love.forte.simbot.component.kook.event.KookDeletedMessageEvent

KOOK 系统事件中与 消息删除 相关的事件的simbot事件基准类。 涉及的 KOOK 原始事件 (的 SystemExtra 子类型) 有:

  • DeletedMessageEventExtra

  • DeletedPrivateMessageEventExtra

KookDeletedChannelMessageEvent

love.forte.simbot.component.kook.event.KookDeletedChannelMessageEvent

KOOK中一个频道消息被删除的事件。

KookDeletedPrivateMessageEvent

love.forte.simbot.component.kook.event.KookDeletedPrivateMessageEvent

KOOK中一个私聊消息被删除的事件。

KookMemberChangedEvent

love.forte.simbot.component.kook.event.KookMemberChangedEvent

KOOK 的频道成员变更事件。 相关的 KOOK 原始事件类型有:

  • ExitedChannelEventExtra

  • JoinedChannelEventExtra

  • JoinedGuildEventExtra

  • ExitedGuildEventExtra

  • UpdatedGuildMemberEventExtra

  • SelfExitedGuildEventExtra

  • SelfJoinedGuildEventExtra 其中, SelfExitedGuildEventExtraSelfJoinedGuildEventExtra 代表为 BOT 自身作为成员的变动, 因此会额外提供相对应的 [bot成员变动] KookBotMemberChangedEvent 事件类型来进行更精准的事件监听。

相关事件

成员的频道变更事件

KookMemberChannelChangedEvent 事件及其子类型 KookMemberExitedChannelEventKookMemberJoinedChannelEvent 代表了一个频道服务器中的某个群成员加入、离开某一个频道(通常为语音频道)的事件。

成员的服务器变更事件

KookMemberGuildChangedEvent 事件及其子类型 KookMemberJoinedGuildEventKookMemberExitedGuildEvent 代表了一个频道服务器中有新群成员加入、旧成员离开此服务器的事件。

成员的信息变更事件

KookMemberUpdatedEvent 事件 代表了一个成员的信息发生了变更的事件。

Bot频道服务器事件

KookBotMemberChangedEvent 事件及其子类型 KookBotSelfJoinedGuildEventKookBotSelfExitedGuildEvent 代表了当前bot加入新频道服务器、离开旧频道服务器的事件。

KookMemberChannelChangedEvent

love.forte.simbot.component.kook.event.KookMemberChannelChangedEvent

KOOK [成员变更事件] KookMemberChangedEvent 中与语音频道的进出相关的变更事件。 这类事件代表某人进入、离开某个语音频道 (channel ),而不代表成员进入、离开了当前的频道服务器(guild)。

KookMemberJoinedChannelEvent

love.forte.simbot.component.kook.event.KookMemberJoinedChannelEvent

KOOK 成员加入(语音频道)事件。

KookMemberExitedChannelEvent

love.forte.simbot.component.kook.event.KookMemberExitedChannelEvent

KOOK 成员离开(语音频道)事件。

KookMemberGuildChangedEvent

love.forte.simbot.component.kook.event.KookMemberGuildChangedEvent

KOOK [成员变更事件] KookMemberChangedEvent 中与频道服务器进出相关的变更事件。 这类事件代表某人加入、离开某个频道服务器。

KookMemberExitedGuildEvent

love.forte.simbot.component.kook.event.KookMemberExitedGuildEvent

KOOK 成员离开(频道)事件。

KookMemberJoinedGuildEvent

love.forte.simbot.component.kook.event.KookMemberJoinedGuildEvent

KOOK 成员加入(频道)事件。

KookMemberUpdatedEvent

love.forte.simbot.component.kook.event.KookMemberUpdatedEvent

KOOK 频道成员信息更新事件。

KookBotMemberChangedEvent

love.forte.simbot.component.kook.event.KookBotMemberChangedEvent

频道成员的变动事件中,变动本体为bot自身时的事件。 对应 KOOK 原始事件的 SelfExitedGuildEventExtraSelfJoinedGuildEventExtra

KookBotSelfExitedGuildEvent

love.forte.simbot.component.kook.event.KookBotSelfExitedGuildEvent

KOOK BOT自身离开(频道)事件。

KookBotSelfJoinedGuildEvent

love.forte.simbot.component.kook.event.KookBotSelfJoinedGuildEvent

KOOK BOT自身加入(频道)事件。

KookUserOnlineStatusChangedEvent

love.forte.simbot.component.kook.event.KookUserOnlineStatusChangedEvent

KOOK 用户在线状态变更相关事件的抽象父类。 涉及到的原始事件有:

  • GuildMemberOfflineEventExtra

  • GuildMemberOnlineEventExtra

变化主体

此事件主体是事件中的 [用户ID] GuildMemberOnlineStatusChangedEventBody.userId

子类型

此事件是密封的,如果你只想监听某人的上线或下线中的其中一种事件,则考虑监听此事件类的具体子类型。

KookMemberOnlineEvent

love.forte.simbot.component.kook.event.KookMemberOnlineEvent

KookUserOnlineStatusChangedEvent 对于用户上线的事件子类型。

KookMemberOfflineEvent

love.forte.simbot.component.kook.event.KookMemberOfflineEvent

KookUserOnlineStatusChangedEvent 对于用户离线的事件子类型。

KookMessageBtnClickEvent

love.forte.simbot.component.kook.event.KookMessageBtnClickEvent

一个 Card 中的按钮被按下的事件。

KookMessageEvent

love.forte.simbot.component.kook.event.KookMessageEvent

KOOK 中与消息相关的事件, 即当 KEvent.extra 类型为 TextExtra 时所触发的事件。 大部分消息事件都可能由同一个格式衍生为两种类型:私聊与群聊(频道消息), 这由 KEvent.channelType 所决定。当 KEvent.channelType 值为 KEvent.ChannelType.GROUP 时则代表为 [频道消息事件] ChatChannelMessageEvent, 而如果为 KEvent.ChannelType.PERSON 则代表为 [联系人消息事件] ContactMessageEvent

来源

KOOK 的消息推送同样会推送bot自己所发送的消息。在stdlib模块下, 你可能需要自己手动处理对于消息来自bot自身的情况。 但是在当前组件下, KookMessageEvent 中:

  • 来自其他人的事件: KookChannelMessageEvent, KookContactMessageEvent

  • 来自bot自己的事件: KookBotSelfChannelMessageEvent, KookBotSelfMessageEvent

KookChannelMessageEvent

love.forte.simbot.component.kook.event.KookChannelMessageEvent

Kook 普通频道消息事件。即来自bot以外的人发送的消息的类型。 此事件只会由 bot 自身以外的人触发。

KookContactMessageEvent

love.forte.simbot.component.kook.event.KookContactMessageEvent

Kook 普通私聊消息事件。即来自bot以外的人发送的消息的类型。 此事件只会由 bot 以外的人触发。

KookBotSelfChannelMessageEvent

love.forte.simbot.component.kook.event.KookBotSelfChannelMessageEvent

Kook bot频道消息事件。即来自bot自身发送的消息的类型。 此事件只会由 bot 自身触发。

KookBotSelfMessageEvent

love.forte.simbot.component.kook.event.KookBotSelfMessageEvent

私聊消息事件。 此事件只会由 bot 自身触发,代表bot在私聊会话中发出的消息。

KookMessagePinEvent

love.forte.simbot.component.kook.event.KookMessagePinEvent

与频道消息置顶相关的事件。 涉及的原始事件有:

  • PinnedMessageEventExtra

  • UnpinnedMessageEventExtra

KookPinnedMessageEvent

love.forte.simbot.component.kook.event.KookPinnedMessageEvent

新消息置顶事件。 代表一个新的消息被设置为了目标频道的置顶消息。

KookUnpinnedMessageEvent

love.forte.simbot.component.kook.event.KookUnpinnedMessageEvent

消息取消置顶事件。代表一个新的消息被设置为了目标频道的置顶消息。

KookUpdatedMessageEvent

love.forte.simbot.component.kook.event.KookUpdatedMessageEvent

KOOK 系统事件中与 消息更新 相关的事件的simbot事件基准类。 涉及的 KOOK 原始事件 (的 SystemExtra 子类型) 有:

  • UpdatedMessageEventExtra

  • UpdatedPrivateMessageEventExtra

KookUpdatedChannelMessageEvent

love.forte.simbot.component.kook.event.KookUpdatedChannelMessageEvent

KOOK中一个频道消息被更新的事件。

KookUpdatedPrivateMessageEvent

love.forte.simbot.component.kook.event.KookUpdatedPrivateMessageEvent

KOOK中一个私聊消息被更新的事件。

KookUserUpdatedEvent

love.forte.simbot.component.kook.event.KookUserUpdatedEvent

Kook 用户信息更新事件。 此事件属于一个 ChangeEvent, ChangeEvent.content 为用户变更事件的内容本体, 即 sourceBody。 此事件不一定是某个具体频道服务器中的用户, 只要有好友关系即会推送。

UnsupportedKookEvent

love.forte.simbot.component.kook.event.UnsupportedKookEvent

所有未提供针对性实现的其他 KOOK 事件。 UnsupportedKookEvent 不实现任何其他事件类型, 仅实现 KOOK 组件中的事件父类型 KookBotEvent ,是一个完全独立的事件类型。 UnsupportedKookEvent 会将所有 尚未支持 的事件通过此类型进行推送。 如果要监听 UnsupportedKookEvent, 你需要谨慎处理其中的一切, 因为 UnsupportedKookEvent 能够提供的事件会随着当前组件支持的特定事件的增多而减少, 这种减少可能会伴随着版本更新而产生,且可能不会有任何说明或错误提示。 因此你应当首先查看 KookBotEvent 下是否有所需的已经实现的事件类型,并且不应当过分依赖 UnsupportedKookEvent.

** UnknownExtra**

[sourceEvent.extra] Event.extra 中(理所应当地)有可能会出现 UnknownExtraUnknownExtra 的含义与其他 EventExtra 的含义略有区别。详细说明可参考 UnknownExtra 的文档描述。

Last modified: 19 September 2024