diff --git a/src/onebot/action/group/GetGroupDetailInfo.ts b/src/onebot/action/group/GetGroupDetailInfo.ts new file mode 100644 index 00000000..14074b6f --- /dev/null +++ b/src/onebot/action/group/GetGroupDetailInfo.ts @@ -0,0 +1,27 @@ +import { OneBotAction } from '@/onebot/action/OneBotAction'; +import { ActionName } from '@/onebot/action/router'; +import { Static, Type } from '@sinclair/typebox'; + +const SchemaData = Type.Object({ + group_id: Type.Union([Type.Number(), Type.String()]), +}); + +type Payload = Static; + +export class GetGroupDetailInfo extends OneBotAction { + override actionName = ActionName.GetGroupDetailInfo; + override payloadSchema = SchemaData; + + async _handle(payload: Payload) { + const data = await this.core.apis.GroupApi.fetchGroupDetail(payload.group_id.toString()); + return { + ...data, + group_all_shut: data.shutUpAllTimestamp > 0 ? -1 : 0, + group_remark: '', + group_id: +payload.group_id, + group_name: data.groupName, + member_count: data.memberNum, + max_member_count: data.maxMemberNum, + }; + } +} \ No newline at end of file diff --git a/src/onebot/action/index.ts b/src/onebot/action/index.ts index ebfe1d2a..227bdb8c 100644 --- a/src/onebot/action/index.ts +++ b/src/onebot/action/index.ts @@ -120,10 +120,12 @@ import SetGroupAddOption from './extends/SetGroupAddOption'; import SetGroupSearch from './extends/SetGroupSearch'; import SetGroupRobotAddOption from './extends/SetGroupRobotAddOption'; import SetGroupKickMembers from './extends/SetGroupKickMembers'; +import { GetGroupDetailInfo } from './group/GetGroupDetailInfo'; export function createActionMap(obContext: NapCatOneBot11Adapter, core: NapCatCore) { const actionHandlers = [ + new GetGroupDetailInfo(obContext, core), new SetGroupKickMembers(obContext, core), new SetGroupAddOption(obContext, core), new SetGroupRobotAddOption(obContext, core), diff --git a/src/onebot/action/router.ts b/src/onebot/action/router.ts index 13b16dd7..a0969976 100644 --- a/src/onebot/action/router.ts +++ b/src/onebot/action/router.ts @@ -132,6 +132,7 @@ export const ActionName = { FetchEmojiLike: 'fetch_emoji_like', SetInputStatus: 'set_input_status', GetGroupInfoEx: 'get_group_info_ex', + GetGroupDetailInfo: 'get_group_detail_info', GetGroupIgnoreAddRequest: 'get_group_ignore_add_request', DelGroupNotice: '_del_group_notice', FriendPoke: 'friend_poke',