Skip to content

get_friend_msg_history

从 QQ 服务器读取指定好友的一日漫游消息。该接口使用 Android QQ 9.2.70 的 MessageSvc.PbGetOneDayRoamMsg,返回结构与实时好友消息一致。

调用示例

js
const result = await api.get_friend_msg_history({
  self_id: 1060221,
  user_id: 106606,
  message_seq: 0,
  count: 20,
  reverseOrder: false,
})

参数

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

返回值

json
{
  "messages": [
    {
      "time": 1720000000,
      "self_id": 1060221,
      "post_type": "message",
      "message_type": "private",
      "message_id": 234567,
      "user_id": 106606,
      "target_id": 1060221,
      "message": [{ "type": "text", "data": { "text": "你好" } }],
      "raw_message": "你好"
    }
  ],
  "next_message_seq": 1719999000,
  "has_more": true
}

next_message_seq 在好友漫游协议中实际表示上一页最早消息的时间游标,调用方只需原样回传,不要自行换算。

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

调用前必读

协议与使用指南

Android + Linux QQ
适用协议
Android + Linux QQ
使用前准备
目标 Bot 必须属于当前插件节点并处于在线状态;涉及群或好友操作时,账号还必须具备对应 QQ 权限。
选择协议
const targetApi = api.forProtocol('linux') // 或 'android'

原始 action 请求只使用附件约定的 client_type: 'android' | 'linuxqq';省略时选择 Android。

建议搭配

常见失败原因

  • bot 不属于本节点
  • bot 未在线或账号状态不符合要求
  • client_type 无效或目标协议不支持该 action

注意事项

  • 同一 QQ 可同时运行 Android 与 Linux;务必显式选择协议,避免把操作发送到错误会话。
  • 查询结果可能受 QQ 服务端分页、缓存与权限影响,不应假设一次调用返回全部数据。

萌卡NT 开发文档