From 3d09d45423729eafeaf7378838d0e2e357dd06dc 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: Sat, 24 Aug 2024 23:50:05 +0800 Subject: [PATCH] build: 2.2.7 DelGroupNotice --- src/core/apis/group.ts | 4 +++ src/core/services/NodeIKernelGroupService.ts | 2 +- src/onebot/action/group/DelGroupNotice.ts | 28 ++++++++++++++++++++ src/onebot/action/index.ts | 2 ++ src/onebot/action/types.ts | 1 + 5 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/onebot/action/group/DelGroupNotice.ts diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 1266ed37..12852d5f 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -224,6 +224,10 @@ export class NTQQGroupApi { async kickMemberV2Inner(param: kickMemberV2Req) { return this.context.session.getGroupService().kickMemberV2(param); } + async deleteGroupBulletin(GroupCode: string, feedId: string) { + const _Pskey = (await this.core.apis.UserApi.getPSkey(['qun.qq.com'])).domainPskeyMap.get('qun.qq.com')!; + return this.context.session.getGroupService().deleteGroupBulletin(GroupCode, _Pskey, feedId); + } async quitGroupV2(GroupCode: string, needDeleteLocalMsg: boolean) { let param = { groupCode: GroupCode, diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index b1e519f5..118dda10 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -209,7 +209,7 @@ export interface NodeIKernelGroupService { getGroupBulletin(groupCode: string): unknown; - deleteGroupBulletin(groupCode: string, seq: string): void; + deleteGroupBulletin(groupCode: string, seq: string, feedId: string): void; publishGroupBulletin(groupCode: string, pskey: string, data: any): Promise; diff --git a/src/onebot/action/group/DelGroupNotice.ts b/src/onebot/action/group/DelGroupNotice.ts new file mode 100644 index 00000000..4008244e --- /dev/null +++ b/src/onebot/action/group/DelGroupNotice.ts @@ -0,0 +1,28 @@ +import { WebApiGroupNoticeFeed } from '@/core'; +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'] }, + feed_id: { type: 'string' }, + }, + required: ['group_id','feed_id'], +} as const satisfies JSONSchema; + +type Payload = FromSchema; + +export class DelGroupNotice extends BaseAction { + actionName = ActionName.DelGroupNotice; + PayloadSchema = SchemaData; + + async _handle(payload: Payload) { + const NTQQGroupApi = this.CoreContext.apis.GroupApi; + const group = payload.group_id.toString(); + const feedId = payload.feed_id; + return await NTQQGroupApi.deleteGroupBulletin(group, feedId); + } +} diff --git a/src/onebot/action/index.ts b/src/onebot/action/index.ts index 71de3fa0..f6a45c27 100644 --- a/src/onebot/action/index.ts +++ b/src/onebot/action/index.ts @@ -80,6 +80,7 @@ import GetGuildProfile from './guild/GetGuildProfile'; import SetModelShow from './go-cqhttp/SetModelShow'; import { SetInputStatus } from './extends/SetInputStatus'; import { GetCSRF } from './system/GetCSRF'; +import { DelGroupNotice } from './group/DelGroupNotice'; export type ActionMap = Map>; @@ -169,6 +170,7 @@ export function createActionMap(onebotContext: NapCatOneBot11Adapter, coreContex new SetModelShow(onebotContext, coreContext), new SetInputStatus(onebotContext, coreContext), new GetCSRF(onebotContext, coreContext), + new DelGroupNotice(onebotContext, coreContext), ]; const actionMap = new Map(); for (const action of actionHandlers) { diff --git a/src/onebot/action/types.ts b/src/onebot/action/types.ts index 835663f9..c4e2d855 100644 --- a/src/onebot/action/types.ts +++ b/src/onebot/action/types.ts @@ -109,4 +109,5 @@ export enum ActionName { SetModelShow = "_set_model_show", SetInputStatus = "set_input_status", GetCSRF = "get_csrf_token", + DelGroupNotice = "_del_group_notice", }