diff --git a/src/onebot/action/group/GetGroupMemberInfo.ts b/src/onebot/action/group/GetGroupMemberInfo.ts index f9cce558..e5cadbda 100644 --- a/src/onebot/action/group/GetGroupMemberInfo.ts +++ b/src/onebot/action/group/GetGroupMemberInfo.ts @@ -41,6 +41,11 @@ class GetGroupMemberInfo extends OneBotAction { } async _handle (payload: Payload) { + // Handle special case of 'all' which is used for @all mentions + if (payload.user_id === 'all') { + throw new Error('无法获取全体成员的信息,user_id 不能为 "all"'); + } + const isNocache = this.parseBoolean(payload.no_cache ?? true); const uid = await this.getUid(payload.user_id); const member = await this.getGroupMemberInfo(payload, uid, isNocache); diff --git a/src/onebot/action/group/SetGroupAdmin.ts b/src/onebot/action/group/SetGroupAdmin.ts index a313aa4b..6ca9b3d4 100644 --- a/src/onebot/action/group/SetGroupAdmin.ts +++ b/src/onebot/action/group/SetGroupAdmin.ts @@ -16,6 +16,10 @@ export default class SetGroupAdmin extends OneBotAction { override payloadSchema = SchemaData; async _handle (payload: Payload): Promise { + if (payload.user_id === 'all') { + throw new Error('无法设置全体成员为管理员,user_id 不能为 "all"'); + } + const enable = typeof payload.enable === 'string' ? payload.enable === 'true' : !!payload.enable; const uid = await this.core.apis.UserApi.getUidByUinV2(payload.user_id.toString()); if (!uid) throw new Error('get Uid Error'); diff --git a/src/onebot/action/group/SetGroupBan.ts b/src/onebot/action/group/SetGroupBan.ts index 4bc4241a..42eadf18 100644 --- a/src/onebot/action/group/SetGroupBan.ts +++ b/src/onebot/action/group/SetGroupBan.ts @@ -14,6 +14,10 @@ export default class SetGroupBan extends OneBotAction { override actionName = ActionName.SetGroupBan; override payloadSchema = SchemaData; async _handle (payload: Payload): Promise { + if (payload.user_id === 'all') { + throw new Error('无法禁言全体成员,请使用 set_group_whole_ban,user_id 不能为 "all"'); + } + const uid = await this.core.apis.UserApi.getUidByUinV2(payload.user_id.toString()); if (!uid) throw new Error('uid error'); const member_role = (await this.core.apis.GroupApi.getGroupMemberEx(payload.group_id.toString(), uid, true))?.role; diff --git a/src/onebot/action/group/SetGroupCard.ts b/src/onebot/action/group/SetGroupCard.ts index 43adda1d..ce242075 100644 --- a/src/onebot/action/group/SetGroupCard.ts +++ b/src/onebot/action/group/SetGroupCard.ts @@ -15,6 +15,10 @@ export default class SetGroupCard extends OneBotAction { override payloadSchema = SchemaData; async _handle (payload: Payload): Promise { + if (payload.user_id === 'all') { + throw new Error('无法设置全体成员的群名片,user_id 不能为 "all"'); + } + const member = await this.core.apis.GroupApi.getGroupMember(payload.group_id.toString(), payload.user_id.toString()); if (member) await this.core.apis.GroupApi.setMemberCard(payload.group_id.toString(), member.uid, payload.card || ''); return null; diff --git a/src/onebot/action/group/SetGroupKick.ts b/src/onebot/action/group/SetGroupKick.ts index a9f2cb1e..f1d93676 100644 --- a/src/onebot/action/group/SetGroupKick.ts +++ b/src/onebot/action/group/SetGroupKick.ts @@ -15,6 +15,10 @@ export default class SetGroupKick extends OneBotAction { override payloadSchema = SchemaData; async _handle (payload: Payload): Promise { + if (payload.user_id === 'all') { + throw new Error('无法踢出全体成员,user_id 不能为 "all"'); + } + const rejectReq = payload.reject_add_request?.toString() === 'true'; const uid = await this.core.apis.UserApi.getUidByUinV2(payload.user_id.toString()); if (!uid) throw new Error('get Uid Error');