Skip to content

get_group_msg_history

从 QQ 服务器读取指定群聊的历史消息。该接口使用 Android QQ 9.2.70 的 MessageSvc.PbGetGroupMsg,返回的 message_id 可以继续用于 get_msg、撤回、转发和标记已读。

调用示例

js
const result = await api.get_group_msg_history({
  self_id: 1060221,
  group_id: 123456789,
  message_seq: 0,
  count: 20,
  reverseOrder: false,
})

参数

字段类型必填说明
self_idnumber执行请求的 QQ 账号
group_idnumber群号
message_seqnumber分页锚点;传 0 从最新消息开始
countnumber返回数量,默认 20,范围 1-100
reverseOrderboolean是否反转本页消息顺序,默认 false;也兼容 reverse_order

v2.0.6 修复(v2.0.6):message_seq=0 先读取服务器最新群消息序号,不依赖本地缓存,也不发送虚构的最大序号。返回的实际消息保存账号范围内的 message_id,可继续调用 get_msg;服务端已删除且没有发送者、时间的占位记录不作为消息返回。查询历史不会向插件重播消息事件。Android 双节点测试证据与 Linux 验收分开记录。

返回值

json
{
  "messages": [
    {
      "time": 1720000000,
      "self_id": 1060221,
      "post_type": "message",
      "message_type": "group",
      "message_id": 123456,
      "group_id": 123456789,
      "user_id": 106606,
      "message": [{ "type": "text", "data": { "text": "你好" } }],
      "raw_message": "你好"
    }
  ],
  "next_message_seq": 9980,
  "has_more": true
}

继续向前翻页时,把上一次返回的 next_message_seq 传给 message_seq

该接口是只读查询。Android 使用上述 9.2.70 协议;Linux QQ 使用对应的原生历史消息能力,不会转发到同 QQ 的 Android 实例。

萌卡 NT · 连接想法,也连接你我。