查询历史消息
更新时间: 2024/03/14 19:21:13
QChat SDK 的QChatMsgServiceInterface
接口提供getHistoryMessage
方法,可从查询指定时间段内最多limit
条历史消息。这里limit
指指定的查询结果上限。
调用说明
调用该方法,必须传入需要查询消息所属的服务器 ID(serverId
)和频道 ID(channelId
)。查询范围由开始时间(beginTime
)、结束时间(endTime
) 和 查询数量上限(limit
) 共同决定。如果 beginTime
到 endTime
之间消息大于 limit
条,返回 limit
条记录;如果小于 limit
条,返回实际条数;当已经查询到头时,返回的结果数量可能会比 limit
小。
同时可以设置排除查询的消息ID,用于排除查询时起始时间锚点的消息。如果beginTime
上有多条消息,可以指定excludeMsgId
所代表的消息的时间作为实际的起始时间
endTime
如果设置为 0 则代表服务器当前时间。- 首次查询时,推荐
beginTime=0
,endTime=0
得到列表。再次查询时,则传入对应的beginTime
,endTime
和excludeMsgId
。
示例代码
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,
})
此文档是否对你有帮助?