跳到主要内容
版本:2.0.0

机器人事件

机器人事件用于监听即时通讯平台(如QQ)的消息和状态变化,包括群消息、私聊消息、群成员变动等。这些事件是实现机器人功能的核心接口。

基础事件类

EasyEvent

所有事件的基类,包含适配器相关信息。

declare class EasyEvent {
/** 事件是否已被取消,如果设置为True EasyBot内部的处理器将不响应此次事件 */
IsCanceled: boolean;
/** 适配器名称(onebot11) */
AdapterName: string;
/** 适配器平台名称(qq) */
AdapterPlatform: string;
/** 适配器操作上下文 */
AdapterContext: IAdapterContext;
}

属性说明

  • IsCanceled: 如果设置为 true,EasyBot 内部的处理器将不响应此次事件(仅对部分支持取消的事件有效)
  • AdapterName: 适配器名称,如 "onebot11"
  • AdapterPlatform: 适配器平台名称,如 "qq"
  • AdapterContext: 适配器操作上下文,提供各种 API 调用

消息接收事件

group_message_event

功能描述: 当机器人收到群聊消息时触发。

参数: GroupMessageEvent

declare class GroupMessageEvent extends EasyEvent {
SelfId: string; // 机器人账号ID
SenderId: string; // 发送者用户ID
PeerId: string; // 群组ID
Chain: MessageChain; // 消息链对象
RawMessage: string; // 原始消息文本
MessageId: string; // 消息唯一标识
SenderRole?: string; // 发送者群内角色
SenderName: string; // 发送者显示名称
SenderNickName?: string; // 发送者群昵称
Context: IMessageContext; // 消息操作上下文
Messages: Segment[]; // 消息内容片段数组
}

示例:

bus.on("group_message_event", (event) => {
if (event.RawMessage === "ping") {
event.Context.Reply(new MessageChain().Text("pong"));
}
});

direct_message_event

功能描述: 当机器人收到私聊消息时触发。

参数: DirectMessageEvent

declare class DirectMessageEvent extends EasyEvent {
SenderId: string; // 发送者用户ID
SelfId: string; // 机器人账号ID
Chain: MessageChain; // 消息链对象
RawMessage: string; // 原始消息文本
SenderName: string; // 发送者显示名称
MessageId: number; // 消息唯一标识
SenderNickName?: string; // 发送者昵称
Context: IMessageContext; // 消息操作上下文
Messages: Segment[]; // 消息内容片段数组
}

群组变动事件

group_join_event

功能描述: 当有新成员加入群聊时触发。

参数: GroupJoinEvent

declare class GroupJoinEvent extends EasyEvent {
SelfId: string; // 机器人账号ID
Id: string; // 加群者ID
PeerId: string; // 群组ID
Context: IMessageContext; // 消息操作上下文
OperatorId: string; // 操作者用户ID(如邀请人)
}

group_leave_event

功能描述: 当群成员退出群聊时触发。

参数: GroupLeaveEvent

declare class GroupLeaveEvent extends EasyEvent {
SelfId: string; // 机器人账号ID
Id: string; // 离开人ID
PeerId: string; // 群组ID
Context: IMessageContext; // 消息操作上下文
OperatorId: string; // 操作者用户ID(如踢出者)
}

group_request_event

功能描述: 当有用户申请加入群聊或邀请机器人入群时触发。

参数: GroupRequestEvent

declare class GroupRequestEvent extends EasyEvent {
SelfId: string; // 机器人账号ID
UserId: string; // 申请用户ID
GroupId: string; // 目标群组ID
InvitorId: string; // 邀请人ID(当为邀请事件时存在)
Comment: string; // 申请备注/验证信息
Flag: string; // 请求唯一标识符
IsJoinRequest: boolean; // true=加群请求,false=邀请请求
}

机器人状态事件

bot_ready_event

功能描述: 当机器人连接成功并准备就绪时触发。

参数: BotReadyEvent

declare class BotReadyEvent extends EasyEvent {
Profile: RobotProfile; // 机器人信息
}

bot_offline_event

功能描述: 当机器人掉线时触发。

参数: BotOfflineEvent

declare class BotOfflineEvent extends EasyEvent {
Profile: RobotProfile; // 机器人信息
Reason: string; // 掉线原因
Code: number; // 错误码(如果有)
}

消息发送生命周期事件

这些事件允许你在消息发送前后进行拦截或记录。

group_message_send_before_event

功能描述: 在发送群消息之前触发。

参数: GroupMessageSendBeforeEvent

declare class GroupMessageSendBeforeEvent extends EasyEvent {
SelfId: string;
PeerId: string;
Chain: MessageChain; // 注意: 此字段会影响原始事件结构
Messages: Segment[];
}

group_message_send_after_event

功能描述: 在发送群消息之后触发。

参数: GroupMessageSendAfterEvent

declare class GroupMessageSendAfterEvent extends EasyEvent {
SelfId: string;
PeerId: string;
Chain: MessageChain;
Data: string; // 发消息后返回的原始数据包内容
Messages: Segment[];
}

direct_message_send_before_event

功能描述: 在发送私聊消息之前触发。

参数: DirectMessageSendBeforeEvent

declare class DirectMessageSendBeforeEvent extends EasyEvent {
SelfId: string;
PeerId: string;
Chain: MessageChain;
Messages: Segment[];
}

direct_message_send_after_event

功能描述: 在发送私聊消息之后触发。

参数: DirectMessageSendAfterEvent

declare class DirectMessageSendAfterEvent extends EasyEvent {
SelfId: string;
PeerId: string;
Chain: MessageChain;
Data: string; // 发消息后返回的原始数据包内容
Messages: Segment[];
}

原始数据事件

raw_message_event

功能描述: 当适配器收到任何形式的原始数据包时触发。

参数: RawMessageEvent

declare class RawMessageEvent extends EasyEvent {
Data: string; // 消息数据
}

send_packet_before_event

功能描述: 在发送底层数据包之前触发。

参数: SendPacketBeforeEvent

declare class SendPacketBeforeEvent extends EasyEvent {
Data: string; // 原始数据包内容 (可修改)
}

send_packet_after_event

功能描述: 在发送底层数据包之后触发。

参数: SendPacketAfterEvent

declare class SendPacketAfterEvent extends EasyEvent {
Data: string; // 原始数据包内容 (可修改)
}

遇到麻烦了?

我们提供有偿代安装服务,解决您的环境配置烦恼。

了解详情