Skip to content

消息事件

post_type: "message"——有人给 Bot 发了消息。

公共字段

所有消息事件都包含以下字段:

字段类型说明
post_typestring固定 "message"
message_typestring"private" / "group" / "discuss" / "guild"
sub_typestring子类型(见下方各节)
message_idstring消息 ID(字符串,用于回复/撤回)
messagearray消息内容(段数组)
raw_messagestring纯文本(仅文本段拼接)
user_idnumber发送者 QQ 号
fontnumber字体(通常为 0
senderobject发送者信息

私聊消息

message_type: "private"

sub_type场景
friend好友私聊
group群临时会话

sender 字段

字段类型说明
user_idnumber发送者 QQ 号
nicknamestring昵称
group_idnumber临时会话时,来源群号

示例

json
{
  "post_type": "message",
  "message_type": "private",
  "sub_type": "friend",
  "self_id": "<your-uin>",
  "time": 1700000000,
  "user_id": "<friend_id>",
  "message_id": "<message_id>",
  "message": [
    { "type": "text", "data": { "text": "你好呀" } }
  ],
  "raw_message": "你好呀",
  "font": 0,
  "sender": {
    "user_id": "<friend_id>",
    "nickname": "Alice"
  }
}

群消息

message_type: "group"

sub_type场景
normal普通群消息
anonymous匿名消息

sender 字段

字段类型说明
user_idnumber发送者 QQ 号
nicknamestring昵称
cardstring群名片
rolestring角色:"owner" / "admin" / "member"
levelstring群等级
titlestring专属头衔
sexstring"male" / "female" / "unknown"
agenumber年龄
areastring地区

匿名字段

匿名消息时额外带 anonymous 对象:

字段类型说明
idnumber匿名用户 ID
namestring匿名名称
flagstring匿名 flag(用于禁言)

示例

json
{
  "post_type": "message",
  "message_type": "group",
  "sub_type": "normal",
  "self_id": "<your-uin>",
  "time": 1700000000,
  "group_id": "<group_id>",
  "user_id": "<friend_id>",
  "message_id": "<message_id>",
  "message": [
    { "type": "text", "data": { "text": "hello " } },
    { "type": "at", "data": { "qq": "999" } }
  ],
  "raw_message": "hello ",
  "font": 0,
  "sender": {
    "user_id": "<friend_id>",
    "nickname": "nick",
    "card": "群名片",
    "role": "admin",
    "level": "3",
    "title": "头衔",
    "sex": "unknown",
    "age": 0,
    "area": ""
  }
}

讨论组消息

message_type: "discuss"

INFO

OneBot 11 标准没有讨论组类型,这里按 discuss 透传以保留字段。

字段类型说明
discuss_idnumber讨论组 ID

频道消息

message_type: "guild", sub_type: "channel"

频道消息的 ID 字段全部为字符串

字段类型说明
guild_idstring频道 ID
channel_idstring子频道 ID
user_idstring发送者 tiny_id(字符串)

sender 字段

字段类型说明
user_idstringtiny_id
tiny_idstring同 user_id
nicknamestring昵称

示例

json
{
  "post_type": "message",
  "message_type": "guild",
  "sub_type": "channel",
  "self_id": "<your-uin>",
  "time": 1700000000,
  "guild_id": "12345678",
  "channel_id": "9876",
  "user_id": "666888",
  "message_id": "<message_id>",
  "message": [
    { "type": "text", "data": { "text": "频道消息" } }
  ],
  "raw_message": "频道消息",
  "font": 0,
  "sender": {
    "user_id": "666888",
    "tiny_id": "666888",
    "nickname": "频道用户"
  }
}