From 6acceb884c99960cdb9b95215be4f7f6edc6a54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Thu, 31 Oct 2024 18:00:55 +0800 Subject: [PATCH] fix: #473 --- src/core/apis/group.ts | 4 +- src/core/entities/notify.ts | 44 +++++++++++++++++++ .../listeners/NodeIKernelGroupListener.ts | 4 +- src/onebot/action/group/GetGroupShutList.ts | 2 +- 4 files changed, 50 insertions(+), 4 deletions(-) diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index c22660b8..6b238d5b 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -54,7 +54,9 @@ export class NTQQGroupApi { }, pskey); } async getGroupShutUpMemberList(groupCode: string) { - return this.context.session.getGroupService().getGroupShutUpMemberList(groupCode); + let data = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onShutUpMemberListChanged', 1, 1000, (group_id) => group_id === groupCode); + this.context.session.getGroupService().getGroupShutUpMemberList(groupCode); + return (await data)[1]; } async clearGroupNotifiesUnreadCount(uk: boolean) { return this.context.session.getGroupService().clearGroupNotifiesUnreadCount(uk); diff --git a/src/core/entities/notify.ts b/src/core/entities/notify.ts index c8aa4d15..dbf3f63b 100644 --- a/src/core/entities/notify.ts +++ b/src/core/entities/notify.ts @@ -43,6 +43,50 @@ export enum GroupInviteType { BYGROUPMEMBER, BYDISCUSSMEMBER } +export interface ShutUpGroupHonor { + [key: string]: number; +} + +export interface ShutUpGroupMember { + uid: string; + qid: string; + uin: string; + nick: string; + remark: string; + cardType: number; + cardName: string; + role: number; + avatarPath: string; + shutUpTime: number; + isDelete: boolean; + isSpecialConcerned: boolean; + isSpecialShield: boolean; + isRobot: boolean; + groupHonor: ShutUpGroupHonor; + memberRealLevel: number; + memberLevel: number; + globalGroupLevel: number; + globalGroupPoint: number; + memberTitleId: number; + memberSpecialTitle: string; + specialTitleExpireTime: string; + userShowFlag: number; + userShowFlagNew: number; + richFlag: number; + mssVipType: number; + bigClubLevel: number; + bigClubFlag: number; + autoRemark: string; + creditLevel: number; + joinTime: number; + lastSpeakTime: number; + memberFlag: number; + memberFlagExt: number; + memberMobileFlag: number; + memberFlagExt2: number; + isSpecialShielded: boolean; + cardNameId: number; +} export interface GroupNotify { seq: string; // 通知序列号 diff --git a/src/core/listeners/NodeIKernelGroupListener.ts b/src/core/listeners/NodeIKernelGroupListener.ts index e3899b9b..88a9a14c 100644 --- a/src/core/listeners/NodeIKernelGroupListener.ts +++ b/src/core/listeners/NodeIKernelGroupListener.ts @@ -1,4 +1,4 @@ -import { DataSource, Group, GroupListUpdateType, GroupMember, GroupNotify } from '@/core/entities'; +import { DataSource, Group, GroupListUpdateType, GroupMember, GroupNotify, ShutUpGroupMember } from '@/core/entities'; export class NodeIKernelGroupListener { onGroupListInited(listEmpty: boolean): void { } @@ -80,6 +80,6 @@ export class NodeIKernelGroupListener { onSearchMemberChange(...args: unknown[]) { } - onShutUpMemberListChanged(...args: unknown[]) { + onShutUpMemberListChanged(groupCode: string, members: Array) { } } \ No newline at end of file diff --git a/src/onebot/action/group/GetGroupShutList.ts b/src/onebot/action/group/GetGroupShutList.ts index 94fe7d9b..8d63e054 100644 --- a/src/onebot/action/group/GetGroupShutList.ts +++ b/src/onebot/action/group/GetGroupShutList.ts @@ -13,7 +13,7 @@ const SchemaData = { type Payload = FromSchema; -export class GetGroupShutList extends BaseAction { +export class GetGroupShutList extends BaseAction { actionName = ActionName.GetGroupShutList; payloadSchema = SchemaData;