diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 75edc324..08441109 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -59,7 +59,9 @@ export class NTQQGroupApi { pageLimit: 300, }, pskey); } - + async getGroupShutUpMemberList(groupCode: string) { + return this.context.session.getGroupService().getGroupShutUpMemberList(groupCode); + } async clearGroupNotifiesUnreadCount(uk: boolean) { return this.context.session.getGroupService().clearGroupNotifiesUnreadCount(uk); } diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index 6dfb0fbf..ce7e4478 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -145,7 +145,7 @@ export interface NodeIKernelGroupService { getMemberExtInfo(param: GroupExtParam): Promise;//req - getGroupAllInfo(): unknown; + getGroupAllInfo(groupId: string, sourceId: number): Promise; getDiscussExistInfo(): unknown; @@ -234,7 +234,7 @@ export interface NodeIKernelGroupService { setGroupShutUp(groupCode: string, shutUp: boolean): void; - getGroupShutUpMemberList(groupCode: string): unknown[]; + getGroupShutUpMemberList(groupCode: string): Promise; setMemberShutUp(groupCode: string, memberTimes: { uid: string, timeStamp: number }[]): Promise; diff --git a/src/onebot/action/group/GetGroupShutList.ts b/src/onebot/action/group/GetGroupShutList.ts new file mode 100644 index 00000000..94fe7d9b --- /dev/null +++ b/src/onebot/action/group/GetGroupShutList.ts @@ -0,0 +1,24 @@ +import { OB11Group } from '@/onebot'; +import BaseAction from '../BaseAction'; +import { ActionName } from '../types'; +import { FromSchema, JSONSchema } from 'json-schema-to-ts'; + +const SchemaData = { + type: 'object', + properties: { + group_id: { type: ['number', 'string'] }, + }, + required: ['group_id'], +} as const satisfies JSONSchema; + +type Payload = FromSchema; + +export class GetGroupShutList extends BaseAction { + actionName = ActionName.GetGroupShutList; + payloadSchema = SchemaData; + + async _handle(payload: Payload) { + return await this.core.apis.GroupApi.getGroupShutUpMemberList(payload.group_id.toString()); + } +} + diff --git a/src/onebot/action/index.ts b/src/onebot/action/index.ts index 5f4acc89..e7dab21f 100644 --- a/src/onebot/action/index.ts +++ b/src/onebot/action/index.ts @@ -89,6 +89,7 @@ import { GetUserStatus } from './extends/GetUserStatus'; import { GetRkey } from './extends/GetRkey'; import { SetSpecialTittle } from './extends/SetSpecialTittle'; import { UploadForwardMsg } from "@/onebot/action/extends/UploadForwardMsg"; +import { GetGroupShutList } from './group/GetGroupShutList'; export type ActionMap = Map>; @@ -190,6 +191,7 @@ export function createActionMap(obContext: NapCatOneBot11Adapter, core: NapCatCo new GetRkey(obContext, core), new SetSpecialTittle(obContext, core), new UploadForwardMsg(obContext, core), + new GetGroupShutList(obContext, core), ]; const actionMap = new Map(); for (const action of actionHandlers) { diff --git a/src/onebot/action/types.ts b/src/onebot/action/types.ts index 92bc99a9..abc30876 100644 --- a/src/onebot/action/types.ts +++ b/src/onebot/action/types.ts @@ -124,4 +124,5 @@ export enum ActionName { GetRkey = "nc_get_rkey", SetSpecialTittle = "set_group_special_title", UploadForwardMsg = "upload_forward_msg", + GetGroupShutList = "get_goup_shut_list", }