Web

查询历史消息

更新时间: 2024/03/14 19:21:13

QChat SDK 的QChatMsgServiceInterface接口提供getHistoryMessage方法,可从查询指定时间段内最多limit条历史消息。这里limit指指定的查询结果上限。

调用说明

调用该方法,必须传入需要查询消息所属的服务器 ID(serverId)和频道 ID(channelId)。查询范围由开始时间(beginTime)、结束时间(endTime) 和 查询数量上限(limit) 共同决定。如果 beginTimeendTime 之间消息大于 limit 条,返回 limit 条记录;如果小于 limit 条,返回实际条数;当已经查询到头时,返回的结果数量可能会比 limit 小。

同时可以设置排除查询的消息ID,用于排除查询时起始时间锚点的消息。如果beginTime上有多条消息,可以指定excludeMsgId所代表的消息的时间作为实际的起始时间

  • endTime 如果设置为 0 则代表服务器当前时间。
  • 首次查询时,推荐 beginTime=0, endTime=0 得到列表。再次查询时,则传入对应的beginTime, endTimeexcludeMsgId

示例代码

js// page 1
const page1Msgs = await qchat.qchatMsg.getHistoryMessage({
  serverId: "{{YOUR_SERVERID}}",
  channelId: "{{YOUR_CHANNELID}}",
  beginTime: 0,
  endTime: 0,
})

const length = page1Msgs.length
console.log(length) // 100

// page 2
const page2Msgs = await qchat.qchatMsg.getHistoryMessage({
  serverId: "{{YOUR_SERVERID}}",
  channelId: "{{YOUR_CHANNELID}}",
  beginTime: 0,
  endTime: page2Msgs[length - 1].time,
  excludeMsgId: page2Msgs[length - 1].msgIdServer,
})
此文档是否对你有帮助?
有帮助
去反馈
  • 调用说明
  • 示例代码