Skip to content

消息事件 ​

消息位于事件帧的 data 中,按 post_type 区分群聊、好友和群临时会话。

公共字段 ​

字段类型说明
self_idinteger所属 QQ
protocol_idinteger协议配置 ID
post_typestringgroup_message、friend_message 或 group_temp_message
message_idinteger本地消息编号;成功缓存后提供,用于要求该编号的接口
msgobject原始消息标识
senderobject发送者信息
messagearray结构化消息段;无可用消息段时可能省略
alt_messagestring可读消息摘要,可能省略
sourcestring关联的发送插件名称标记,可能省略;不是消息渠道枚举或发送成功凭据

群消息 ​

含 red_packet 消息段的事件:Free 不推送;Plus 按当前 QQ 最新等级核对,至少需要 32 级;Pro 不设这项等级门槛。含红包的混合消息、引用及撤回原消息整体遵守此条件;普通文字提到“红包”不受影响。权限不足或校验失败不会推送红包内容和领取材料。此规则同样适用于好友、群临时及发送确认事件。

post_type: "group_message",需要 group_message 权限。group_id 为群号,group_name 可能省略;sender 描述发送者。解析消息内容应使用 message 消息段,不能仅按 alt_message 还原图片、引用等内容。

好友消息 ​

post_type: "friend_message",需要 friend_message 权限。sender 和 receiver 分别描述发送方与接收方;结合 self_id 判断当前账号,不能总把 sender 当作好友。

群临时消息 ​

post_type: "group_temp_message",同样需要 friend_message 权限。group_known 表示是否已确认来源群。群来源未确认时不要补造 group_id,也不要依赖本地 message_id 调用引用、撤回等接口;此类消息不会分配本地消息编号。

会话字段 ​

类别字段说明
群消息group_id、group_name群号与名称;名称可能省略
好友消息receiver接收者信息
群临时消息receiver、group_known、group_idgroup_known 表示是否已确认群来源;未知时 group_id 可能省略

消息与发送者 ​

msg.uid 是字符串,msg.seq、msg.random 与 msg.time 是数字。发送者包含 user_id、nickname,按推送内容可能包含 remark、card、role、title、level。不要将 uid 转为 JavaScript Number。

message 中每个元素使用 { "type": "text", "data": { "text": "你好" } } 形式,类型见消息段。

引用与撤回 ​

回复当前消息使用事件顶层数字 message_id。引用段内的 source_msg_uid 和旧兼容字段 message_id 是 QQ MsgUID 字符串,不能直接作为发送接口的引用编号;引用更早的原文应使用非 null 的 reply_reference_id。完整规则见引用回复。

消息编号只能用于对应账号、协议与会话。下载地址中的临时 rkey 不属于永久消息标识。接口调用结果与事件推送可能先后到达,不能假定固定顺序,也不能用消息事件代替发送接口结果。

发送确认 ​

post_type: "message_sent" 表示框架发送请求的成功响应与当前账号的原生消息推送精确匹配。只有接口成功、没有匹配推送时不会产生此事件;未匹配的本账号同步消息仍按原群消息、好友消息或群临时消息处理。

字段类型说明
self_id、protocol_idinteger所属账号与协议,协议 ID 0 有效
post_typestring固定为 message_sent
message_typestringgroup、friend 或 group_temp
sourcestring固定为 framework_native_confirmed,不表示具体插件名称
msgobjectuid 为字符串,seq、random、time 为数字
senderobject原生推送的发送者
receiverobject好友或群临时会话的接收者
group_idinteger群聊或群临时会话的群号
group_knownboolean已确认来源的群临时会话为 true
message_idinteger本地消息编号,可能省略
group_name、alt_messagestring可选群名与消息摘要
messagearray可选消息段

group 使用 group_message 权限;friend 和 group_temp 使用 friend_message 权限,仅向当前框架中获授权的订阅者推送。原生推送先到时最多暂存 30 秒等待响应;失败、未匹配或超过等待时间的消息按原接收事件处理。此机制不保证所有发送接口和所有原生同步路径都产生发送确认,插件仍须处理接口结果及连接中断,不能因为缺少事件自动重复发送。

萌卡 · 自托管 QQ 机器人框架