Skip to content

字段含义

感谢项目学习笔记 | QQNT 聊天记录导出GroupChatAnnualReport

nt_msg.db

group_msg_table

群聊数据 group_msg_table 表中的部分列含义如下:

列名MsgRecord说明
40001msgId消息ID,具有唯一性
40002msgRandom消息随机值,用于对消息去重
40003msgSeq群聊消息ID,在每个群聊中依次递增
40010chatType聊天类型,私聊为1,群聊为2,频道为4,公众号为103,企业客服为102,临时会话为100
40011msgType消息类型,详见下表
40012subMsgTypepb消息类型,详见下表
40013sendType发送标志,本机发送的消息为1,其他客户端发送的为2,别人发的消息为0 ,转发消息为5,在已退出或被封禁的消息中为当日整点时间戳
40020senderUidnt_uid, 对应 nt_uid_mapping_table
40021peerUidQQ群号
40027peerUin群号
40041sendStatus发送状态,2为成功,0为发送被阻止(如不是对方好友),1为尚未发送成功(比如网络问题),3为消息被和谐
40050msgTime发送消息时的完整时间戳,UTC+8:00
40090sendMemberName发送者群名片,旧版 QQ 迁移数据中格式为 name(12345)name<i@example.com>, QQNT 中为群名片
40093sendNickName发送者昵称,旧版 QQ 此字段为空,QQNT 中未设置群名片时才有此字段
40080聊天消息,最为复杂尚未解析完
40900不同情况下存在不一样的数据(以列40011为区分)值为8时,列40900存贮转发聊天的缓存
值为9时,列40900存贮引用的消息
40005只知道自己发的消息一定概率存在数值正常情况为0
40058当日 0 时整的时间戳格式时区为 GMT+0800
40006elem id?不知道用处
40100@状态详见下表
40600状态标志?protobuf 格式,详见说明
40060已退出或已解散的群聊标志
40850回复消息序号该消息所回复的消息的序号
40801无法理解的protobuf
40030群号QQNT 保存的群号
40033发送者 QQ 号QQNT 保存的发送者 QQ 号
40062存贮详细表态信息(包括表态表情和表态数量)其数字与QQBOT中表情编号对应(超级表情不在此列表中)
40083表态表情数量总和
40084表态表情数量总和

c2c_msg_table

私聊数据 c2c_msg_table 表中的部分列含义如下:

列名类型含义说明
40030int私聊对象 QQ 号对方 QQ 号(无论是对方还是自己发送的消息)
40033int发送者 QQ 号发送者的 QQ 号
40050int时间时间戳(单位为秒)
40058int日期当日 0 时整的时间戳格式
40093str消息发送者QQ 昵称或是备注名
40800bytes消息内容protobuf 格式

注意:以下信息可能存在不准确性:所有值均为本人通过自己的聊天信息推断而来,可能存在未发现或错误分析,欢迎大佬指正

40011部分值信息解读

展开阅读

疑似用于区分消息类型

无消息(消息损坏?多见于已退出群聊且时间久远):0

消息空白(msgid存在,应该是没加载出来):1

text文本消息:2

群文件:3

我的聊天记录里没有4~大佬带带>︿<

系统(灰字)消息:5

语音消息:6

视频文件:7

合并转发消息:8

回复类型消息:9

红包:10

应用消息:11

40012部分值信息解读

展开阅读

疑似用于区分pb消息类型

非常规text消息:0

普通文本消息:1

群文件其他类型消息:1

图片消息:2

群文件图片消息:2

群公告:3

群文件视频消息:4

撤回消息提醒:4

群文件音频消息:8

原创表情包:8

射精消息:11

拍一拍消息:12

群文件docx消息:16

平台文本消息:32

群文件pptx消息:32

回复类型消息:33

群文件xlsx消息:64

存在链接:161

群文件zip消息:512

群文件exe消息:2048

表情消息:4096

40011与40012组合可判断消息类型

一些常见消息组合

由于优先级问题(特别是2类别的信息),部分消息不满足以下规则

空消息:0,0

已撤回消息:1,0

普通文本类消息:2,1

图片消息:2,2

只带图片的纯文本消息:2,3

纯表情消息:2,16

带表情的纯文本消息:2,17

带图片带表情的纯文本消息:2,19

纯链接消息:2,129

带表情链接消息:2,145

机器人消息:2,577

机器人Markdown消息:2,65

@消息:2,35

回复引用消息(不带表情):2,33

回复引用消息(带表情):2,49

收藏表情:2,2

收藏表情包:2,4096

群文件其他类型消息:3,1

群文件图片(png,jpg)消息:3,2

群文件视频消息:3,4

群文件音频(mp3,flac)消息:3,8

群文件docx消息:3,16

群文件pptx消息:3,32

群文件xlsx消息:3,64

群文件zip消息:3,512

群文件exe消息:3,2048

拍一拍消息:5,12

撤回消息提醒:5,4

amr语音文件消息:6,0

视频文件消息:7,0

合并转发消息:8,0

回复消息:9,33

回复带图片消息(无@):9,34

回复带图片消息(有@):9,35

回复带图片带@:9,35

回复卡片引用消息:9,49

带表情回复:9,49

带表情带图片带@:9,51

回复存在链接的消息:9,161

红包:10,0

应用消息(如小程序):11,0

群公告:11,3

表情包:17,8

原创表情:17,8

40100值解读

值为6:有人@我;为2,有人@他人;为0,此条消息不包含@

40600值解读

当40600(16进制)值为14 00时,为回复消息

此时:40100的值:

为6代表有人回复自己,为2代表他人回复他人

当40600(16进制)值为c2e91304a8d114****时(不唯一),为撤回消息

Protobuf 消息格式

消息内容 protobuf 的部分字段含义如下:

Field Number类型含义说明
48000protobuf 或 protobuf array消息段一条消息中可以有多个消息段,按内容顺序,类似于富文本;部分类型中可嵌套

消息段(48000)的部分字段含义如下:

Field Number类型含义说明
45001int消息段 ID
45002int消息类型见下表
45101str消息文本适用于文本消息
45102str图片文件名适用于图片消息
45402str图片文件名适用于图片消息
45411int图片宽度(压制后)适用于图片消息
45412int图片高度(压制后)适用于图片消息
45812str本地缓存目录适用于图片消息
45815str替代文本,如 "[动画表情]"适用于图片消息
47402int原消息序号适用于引用消息
47403int原消息发送者适用于引用消息
47404int原消息时间适用于引用消息
47410protobuf格式复杂,存储原消息文本,疑似原消息过期后用以替代 47423适用于引用消息
47413str显示的引用文本适用于引用消息
47423protobuf引用消息段(嵌套)适用于引用消息
47713str撤回消息后缀适用于系统撤回消息
48602strXML 消息内容适用于 XML 消息

其中消息类型(45002)的已知消息类型与对应序号如下:

45002含义说明
1文本消息普通纯文本消息,以及 at 消息本质上为独立成消息段且内容为 "@群昵称" 的消息,包含于此
2图片消息
3文件消息
4语音消息
6表情https://bot.q.qq.com/wiki/develop/api/openapi/emoji/model.html
7引用即常说的“回复”,位于消息段开头,其后为正式消息
8系统消息显示于屏幕中央的灰色小字提示,如撤回、接收文件
10应用消息
11表情
16XML 消息转发聊天记录本质上也是 XML 消息,包含于此
21通话消息
26动态消息