diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 79044289..e7f6fc58 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -50,7 +50,47 @@ export class NTQQGroupApi { ); return groupList; } - + async getGroupExtFE0Info(GroupCode: string[], forced = true) { + return this.context.session.getGroupService().getGroupExt0xEF0Info( + GroupCode, + [], + { + bindGuildId: 1, + blacklistExpireTime: 1, + companyId: 1, + essentialMsgPrivilege: 1, + essentialMsgSwitch: 1, + fullGroupExpansionSeq: 1, + fullGroupExpansionSwitch: 1, + gangUpId: 1, + groupAioBindGuildId: 1, + groupBindGuildIds: 1, + groupBindGuildSwitch: 1, + groupExcludeGuildIds: 1, + groupExtFlameData: 1, + groupFlagPro1: 1, + groupInfoExtSeq: 1, + groupOwnerId: 1, + groupSquareSwitch: 1, + hasGroupCustomPortrait: 1, + inviteRobotMemberExamine: 1, + inviteRobotMemberSwitch: 1, + inviteRobotSwitch: 1, + isLimitGroupRtc: 1, + lightCharNum: 1, + luckyWord: 1, + luckyWordId: 1, + msgEventSeq: 1, + qqMusicMedalSwitch: 1, + reserve: 1, + showPlayTogetherSwitch: 1, + starId: 1, + todoSeq: 1, + viewedMsgDisappearTime: 1 + }, + forced + ); + } async getGroup(groupCode: string, forced = false) { let group = this.groupCache.get(groupCode.toString()); if (!group) { diff --git a/src/core/entities/group.ts b/src/core/entities/group.ts index b108c66c..25294de7 100644 --- a/src/core/entities/group.ts +++ b/src/core/entities/group.ts @@ -6,6 +6,50 @@ export interface KickMemberInfo { optMemberUid: string, optBytesMsg: string, } +//getGroupDetailInfo GroupCode,GroupInfoSource +export enum GroupInfoSource { + KUNSPECIFIED, + KBIGDATACARD, + KDATACARD, + KNOTICE, + KAIO, + KRECENTCONTACT, + KMOREPANEL +} +export interface GroupExt0xEF0InfoFilter { + bindGuildId: number; + blacklistExpireTime: number; + companyId: number; + essentialMsgPrivilege: number; + essentialMsgSwitch: number; + fullGroupExpansionSeq: number; + fullGroupExpansionSwitch: number; + gangUpId: number; + groupAioBindGuildId: number; + groupBindGuildIds: number; + groupBindGuildSwitch: number; + groupExcludeGuildIds: number; + groupExtFlameData: number; + groupFlagPro1: number; + groupInfoExtSeq: number; + groupOwnerId: number; + groupSquareSwitch: number; + hasGroupCustomPortrait: number; + inviteRobotMemberExamine: number; + inviteRobotMemberSwitch: number; + inviteRobotSwitch: number; + isLimitGroupRtc: number; + lightCharNum: number; + luckyWord: number; + luckyWordId: number; + msgEventSeq: number; + qqMusicMedalSwitch: number; + reserve: number; + showPlayTogetherSwitch: number; + starId: number; + todoSeq: number; + viewedMsgDisappearTime: number; +} export interface KickMemberV2Req { groupCode: string, diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index 3978bcd8..6186dba0 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -1,5 +1,6 @@ import { NodeIKernelGroupListener } from '@/core/listeners/NodeIKernelGroupListener'; import { + GroupExt0xEF0InfoFilter, GroupExtParam, GroupMember, GroupMemberRole, @@ -12,6 +13,8 @@ import { GeneralCallResult } from '@/core/services/common'; //高版本的接口不应该随意使用 使用应该严格进行pr审核 同时部分ipc中未出现的接口不要过于依赖 应该做好数据兜底 export interface NodeIKernelGroupService { + //getGroupExt0xEF0Info(this.$enableGroupCodes, this.$bannedGroupCodes, this.$filter, this.$forceFetch + getGroupExt0xEF0Info(enableGroupCodes: string[], bannedGroupCodes: string[], filter: GroupExt0xEF0InfoFilter, forceFetch: boolean): Promise; kickMemberV2(param: KickMemberV2Req): Promise; quitGroupV2(param: { groupCode: string; needDeleteLocalMsg: boolean; }): Promise;