Skip to content

事件类型参考

16 种事件类型,覆盖群聊、私聊、成员变动等全部场景。包名:cn.org.bukkit.bngeuit.event

事件层级

Event (抽象基类)
├── ReadyEvent                     # 机器人就绪
├── ResumedEvent                   # 断线重连成功
├── GroupMessageEvent              # 群普通消息
├── GroupAtMessageEvent            # 群 @ 消息
├── C2CMessageEvent                # 私聊消息
├── InteractionEvent               # 互动事件(按钮点击)
├── FriendAddEvent                 # 好友新增
├── FriendDelEvent                 # 好友删除
├── GroupAddRobotEvent             # 机器人被加入群
├── GroupDelRobotEvent             # 机器人被移出群
├── GroupMemberAddEvent            # 群成员增加
├── GroupMemberRemoveEvent         # 群成员移除
├── GroupMsgReceiveEvent           # 群消息接收开关:开启
├── GroupMsgRejectEvent            # 群消息接收开关:关闭
├── C2CMsgReceiveEvent             # 私聊消息接收开关:开启
└── C2CMsgRejectEvent              # 私聊消息接收开关:关闭

群消息事件

GroupAtMessageEvent

用户 @机器人 时触发。事件名:GROUP_AT_MESSAGE_CREATE

方法返回类型说明
getId()String消息 ID(用于回复/撤回)
getAuthor()Author发送者信息
getContent()String文本内容(已去除 @ 前缀)
getGroupOpenid()String群 OpenID
getTimestamp()longUnix 秒级时间戳
getMessageType()int0=普通, 3=结构化卡片, 103=引用
getAttachments()List<Attachment>附件列表
getMentions()List<Author>被 @ 的用户列表

Author 记录

java
public record Author(
    String id,                // 用户 OpenID
    String username,          // 昵称
    boolean bot,              // 是否机器人
    String unionOpenid,       // 跨应用统一 OpenID
    String unionUserAccount,  // 跨应用统一账号
    String memberOpenid,      // 群成员 OpenID
    String memberRole         // 群内角色:member / admin / owner
) {}

Attachment 记录

java
public record Attachment(
    String url,           // 附件下载 URL
    String filename,      // 文件名
    int width, int height,# 宽高(px)
    int size,             // 字节数
    String contentType,   // MIME 类型
    String voiceWavUrl,   // 语音转 WAV URL
    String asrReferText   // 语音识别文本
) {}

私聊消息事件

C2CMessageEvent

事件名:C2C_MESSAGE_CREATE

方法返回类型说明
getId()String消息 ID
getAuthor()Author发送者
getContent()String文本内容
getTimestamp()long时间戳
getAttachments()List<Attachment>附件列表

互动事件

InteractionEvent

按钮点击时触发。必须调用 Bngeuit.respondInteraction() 响应

java
import cn.org.bukkit.bngeuit.Bngeuit;
import cn.org.bukkit.bngeuit.core.BotApi;

@SubscribeEvent
public void onInteraction(InteractionEvent e) {
    Bngeuit.respondInteraction(e.getInteractionId(),
        BotApi.InteractionResponseCode.SUCCESS);
}

好友与群管理

事件触发时机
FriendAddEvent用户添加机器人为好友
FriendDelEvent用户删除机器人好友
GroupAddRobotEvent机器人被拉入群
GroupDelRobotEvent机器人被移出群
GroupMemberAddEvent新成员加入群
GroupMemberRemoveEvent成员退出群

系统事件

  • ReadyEvent — 机器人启动完成
  • ResumedEvent — 断线重连会话恢复