fix: 部分离谱情况

This commit is contained in:
手瓜一十雪 2024-10-16 20:49:12 +08:00
parent 3f20733e7e
commit 659aa005b0

View File

@ -318,23 +318,33 @@ export class NTQQGroupApi {
async getGroupMembersV2(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> { async getGroupMembersV2(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> {
const sceneId = this.context.session.getGroupService().createMemberListScene(groupQQ, 'groupMemberList_MainWindow'); const sceneId = this.context.session.getGroupService().createMemberListScene(groupQQ, 'groupMemberList_MainWindow');
try { let once = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onMemberListChange', 1, 2000, (params) => params.sceneId === sceneId)
const [callback, listener] = await this.core.eventWrapper.callNormalEventV2( .catch();
'NodeIKernelGroupService/getNextMemberList', const result = await this.context.session.getGroupService().getNextMemberList(sceneId!, undefined, num);
'NodeIKernelGroupListener/onMemberListChange', if (result.errCode !== 0) {
[sceneId, undefined, num], throw new Error('获取群成员列表出错,' + result.errMsg);
(ret) => ret.errCode === 0,
(params) => params.sceneId === sceneId,
1,
2000
);
if(callback.result.infos.size === 0) {
return listener.infos;
} }
return callback.result.infos; if (result.result.infos.size === 0) {
} finally { return (await once)[0].infos;
this.context.session.getGroupService().destroyMemberListScene(sceneId);
} }
return result.result.infos;
// try {
// const [callback, listener] = await this.core.eventWrapper.callNormalEventV2(
// 'NodeIKernelGroupService/getNextMemberList',
// 'NodeIKernelGroupListener/onMemberListChange',
// [sceneId, undefined, num],
// (ret) => ret.errCode === 0,
// (params) => params.sceneId === sceneId,
// 1,
// 2000
// );
// if (callback.result.infos.size === 0) {
// return listener.infos;
// }
// return callback.result.infos;
// } finally {
// this.context.session.getGroupService().destroyMemberListScene(sceneId);
// }
} }
async getGroupMembers(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> { async getGroupMembers(groupQQ: string, num = 3000): Promise<Map<string, GroupMember>> {