diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 93aa00779..508ed540c 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -2,6 +2,7 @@ import { ChatType, GeneralCallResult, Group, + GroupInfoSource, GroupMember, GroupMemberRole, GroupRequestOperateTypes, @@ -32,7 +33,11 @@ export class NTQQGroupApi { } this.context.logger.logDebug(`加载${this.groups.length}个群组缓存完成`); } - + async getGroupInfoEx(groupCode: string) { + const groupDetail = await this.context.session.getGroupService().getGroupDetailInfo(groupCode, GroupInfoSource.KDATACARD); + const groupExtInfo = await this.getGroupExtFE0Info([groupCode]); + return { groupDetail, groupExtInfo }; + } async setGroupAvatar(gc: string, filePath: string) { return this.context.session.getGroupService().setHeader(gc, filePath); } @@ -340,7 +345,7 @@ export class NTQQGroupApi { ]); if (membersFromFunc.status === 'fulfilled' && membersFromListener.status === 'fulfilled') { return new Map([ - ...membersFromFunc.value.result.infos, + ...membersFromFunc.value.result.infos, ...membersFromListener.value[0].infos ]); } @@ -355,7 +360,7 @@ export class NTQQGroupApi { groupService.destroyMemberListScene(sceneId); } } - + async getGroupMembers(groupQQ: string, num = 3000): Promise> { const groupService = this.context.session.getGroupService(); const sceneId = groupService.createMemberListScene(groupQQ, 'groupMemberList_MainWindow'); diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index c56503a1a..e919234a3 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -2,6 +2,7 @@ import { NodeIKernelGroupListener } from '@/core/listeners/NodeIKernelGroupListe import { GroupExt0xEF0InfoFilter, GroupExtParam, + GroupInfoSource, GroupMember, GroupMemberRole, GroupNotifyMsgType, @@ -15,7 +16,7 @@ import { GeneralCallResult } from '@/core/services/common'; export interface NodeIKernelGroupService { //getGroupExt0xEF0Info(this.$enableGroupCodes, this.$bannedGroupCodes, this.$filter, this.$forceFetch getGroupExt0xEF0Info(enableGroupCodes: string[], bannedGroupCodes: string[], filter: GroupExt0xEF0InfoFilter, forceFetch: boolean): - Promise }}>; + Promise } }>; kickMemberV2(param: KickMemberV2Req): Promise; quitGroupV2(param: { groupCode: string; needDeleteLocalMsg: boolean; }): Promise; @@ -151,7 +152,7 @@ export interface NodeIKernelGroupService { getGroupExtList(force: boolean): Promise; - getGroupDetailInfo(groupCode: string): unknown; + getGroupDetailInfo(groupCode: string, groupInfoSource: GroupInfoSource): unknown; getMemberExtInfo(param: GroupExtParam): Promise;//req