查询@我的消息
更新时间: 2024/05/07 15:38:19
SDK 支持查询指定频道中@当前用户的未读消息,同时也支持批量查询消息是否@当前用户。
其中@当前用户的未读消息包括以下三种:
- 未读消息设置的@账号列表中包含当前用户。
- 未读消息设置的需要@的身份组(不包括 everyone 身份组)中包含当前用户。
- 未读消息设置的需要@所有人。
查询结果中不包括自己发送的消息。
查询指定频道中@当前用户的未读消息
通过调用 GetMentionedMeMessages
方法查询指定频道中@当前用户的未读消息列表。
其中入参 timestamp
为查询起始时间,不传则表示当前时间,查询 ackTime
(用户查看过的最后一条信息的时间)到 timestamp
时间范围内@当前用户的未读消息。查询顺序默认为倒序查询。
limit
指查询的消息数量上限,默认值和最大值都为 200。当 limit
传入 0,则使用默认值 200。
如果查询时间范围之间消息大于 limit 条,返回 limit 条记录;如果小于 limit 条,返回实际条数;当已经查询到头时,返回的结果列表的 size 可能会比 limit 小。
示例代码:
QChatGetMentionedMeMessagesParam param;
param.server_id = 123456;
param.channel_id = 123456;
param.limit = 0;
param.cb = [this](const QChatGetMentionedMeMessagesResp& resp) {
// process resp
// ......
};
Message::GetMentionedMeMessages(param);
批量查询消息是否@当前用户
通过调用 AreMentionedMeMessages
方法批量查询消息是否@当前用户。
传入的待查询的消息必须为同一服务器下的消息,否则将返回 10414
错误码。
传入的 messages
最多 100 条,即调用该接口一次最多查询 100 条消息。
示例代码:
QChatAreMentionedMeMessagesParam param;
QChatMessage msg{};
// fill msg
param.messages.push_back(msg);
param.cb = [this](const QChatAreMentionedMeMessagesResp& resp) {
// process resp
// ......
};
Message::AreMentionedMeMessages(param);
此文档是否对你有帮助?