跳到主要内容

搜索消息

根据关键字搜索

根据关键字搜索指定会话中的消息

方法

searchMessages(
type: RCIMIWConversationType,
targetId: string,
channelId: string,
keyword: string,
startTime: number,
count: number,
callback: IRCIMIWSearchMessagesCallback
): Promise<number>;

参数说明

参数名参数类型描述
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
keywordstring搜索的关键字
startTimenumber查询 beginTime 之前的消息, 传 0 时从最新消息开始搜索,从该时间往前搜索。
countnumber查询的数量,count 大于 0,小于等于 50。
callbackIRCIMIWSearchMessagesCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Promise<number>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考状态码文档。

代码示例

let callback = {
onSuccess:(res) => {
//...
},
onError:(res) => {
//...
}};
let code = await engine.searchMessages(type, targetId, channelId, keyword, startTime, count, callback);

回调方法

  • setOnMessagesSearchedListener

    接口调用结果的监听

setOnMessagesSearchedListener(listener?: ({code, type, targetId, channelId, keyword, startTime, count, messages}) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
keywordstring搜索的关键字
startTimenumber查询 beginTime 之前的消息
countnumber查询的数量
messagesArray<RCIMIWMessage>查询到的消息集合

代码示例

engine.setOnMessagesSearchedListener((res) => {
//...
});

根据关键字搜索指定会话中某个时间段的消息

方法

searchMessagesByTimeRange(
type: RCIMIWConversationType,
targetId: string,
channelId: string,
keyword: string,
startTime: number,
endTime: number,
offset: number,
count: number,
callback: IRCIMIWSearchMessagesByTimeRangeCallback
): Promise<number>;

参数说明

参数名参数类型描述
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
keywordstring搜索的关键字
startTimenumber开始时间
endTimenumber结束时间
offsetnumber偏移量
countnumber返回的搜索结果数量,count 大于 0,小于等于 50。
callbackIRCIMIWSearchMessagesByTimeRangeCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Promise<number>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考状态码文档。

代码示例

let callback = {
onSuccess:(res) => {
//...
},
onError:(res) => {
//...
}};
let code = await engine.searchMessagesByTimeRange(type, targetId, channelId, keyword, startTime, endTime, offset, count, callback);

回调方法

  • setOnMessagesSearchedByTimeRangeListener
setOnMessagesSearchedByTimeRangeListener(listener?: ({code, type, targetId, channelId, keyword, startTime, endTime, offset, count, messages}) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
keywordstring搜索的关键字
startTimenumber开始时间
endTimenumber结束时间
offsetnumber偏移量
countnumber查询的数量
messagesArray<RCIMIWMessage>查询到的消息集合

代码示例

engine.setOnMessagesSearchedByTimeRangeListener((res) => {
//...
});

根据用户 id 搜索指定会话中的消息

方法

searchMessagesByUserId(
userId: string,
type: RCIMIWConversationType,
targetId: string,
channelId: string,
startTime: number,
count: number,
callback: IRCIMIWSearchMessagesByUserIdCallback
): Promise<number>;

参数说明

参数名参数类型描述
userIdstring用户 id
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
startTimenumber查询记录的起始时间, 传 0 时从最新消息开始搜索,从该时间往前搜索。
countnumber返回的搜索结果数量,count 大于 0,小于等于 50。
callbackIRCIMIWSearchMessagesByUserIdCallback事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值描述
Promise<number>当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考状态码文档。

代码示例

let callback = {
onSuccess:(res) => {
//...
},
onError:(res) => {
//...
}};
let code = await engine.searchMessagesByUserId(userId, type, targetId, channelId, startTime, count, callback);

回调方法

  • setOnMessagesSearchedByUserIdListener

    接口调用结果的监听

setOnMessagesSearchedByUserIdListener(listener?: ({code, userId, type, targetId, channelId, startTime, count, messages}) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
userIdstring用户 id
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
startTimenumber查询记录的起始时间
countnumber查询的数量
messagesArray<RCIMIWMessage>查询到的消息集合

代码示例

engine.setOnMessagesSearchedByUserIdListener((res) => {
//...
});