diff --git a/src/onebot/action/extends/SetGroupHeader.ts b/src/onebot/action/go-cqhttp/SetGroupPortrait.ts similarity index 72% rename from src/onebot/action/extends/SetGroupHeader.ts rename to src/onebot/action/go-cqhttp/SetGroupPortrait.ts index bfd60f4e..7034d40e 100644 --- a/src/onebot/action/extends/SetGroupHeader.ts +++ b/src/onebot/action/go-cqhttp/SetGroupPortrait.ts @@ -7,18 +7,18 @@ import { checkFileReceived, uri2local } from '@/common/utils/file'; interface Payload { file: string, - groupCode: string + group_id: number } -export default class SetGroupHeader extends BaseAction { - actionName = ActionName.SetGroupHeader; +export default class SetGroupPortrait extends BaseAction { + actionName = ActionName.SetGroupPortrait; // 用不着复杂检测 protected async check(payload: Payload): Promise { - if (!payload.file || typeof payload.file != 'string' || !payload.groupCode || typeof payload.groupCode != 'string') { + if (!payload.file || typeof payload.file != 'string' || !payload.group_id || typeof payload.group_id != 'number') { return { valid: false, - message: 'file和groupCode字段不能为空或者类型错误', + message: 'file和group_id字段不能为空或者类型错误', }; } return { @@ -34,7 +34,7 @@ export default class SetGroupHeader extends BaseAction { } if (path) { await checkFileReceived(path, 5000); // 文件不存在QQ会崩溃,需要提前判断 - const ret = await NTQQGroupApi.setGroupAvatar(payload.groupCode, path); + const ret = await NTQQGroupApi.setGroupAvatar(payload.group_id.toString(), path) as any; if (!isLocal) { fs.unlink(path, () => { }); @@ -43,11 +43,11 @@ export default class SetGroupHeader extends BaseAction { throw `头像${payload.file}设置失败,api无返回`; } // log(`头像设置返回:${JSON.stringify(ret)}`) - // if (ret['result'] == 1004022) { - // throw `头像${payload.file}设置失败,文件可能不是图片格式`; - // } else if (ret['result'] != 0) { - // throw `头像${payload.file}设置失败,未知的错误,${ret['result']}:${ret['errMsg']}`; - // } + if (ret['result'] == 1004022) { + throw `头像${payload.file}设置失败,文件可能不是图片格式或权限不足`; + } else if (ret['result'] != 0) { + throw `头像${payload.file}设置失败,未知的错误,${ret['result']}:${ret['errMsg']}`; + } return ret; } else { if (!isLocal) { diff --git a/src/onebot/action/index.ts b/src/onebot/action/index.ts index d4d14a02..a486c044 100644 --- a/src/onebot/action/index.ts +++ b/src/onebot/action/index.ts @@ -69,7 +69,7 @@ import DelEssenceMsg from './group/DelEssenceMsg'; import SetEssenceMsg from './group/SetEssenceMsg'; import GetRecentContact from './user/GetRecentContact'; import { GetProfileLike } from './extends/GetProfileLike'; -import SetGroupHeader from './extends/SetGroupHeader'; +import SetGroupPortrait from './go-cqhttp/SetGroupPortrait'; import { FetchCustomFace } from './extends/FetchCustomFace'; import GoCQHTTPUploadPrivateFile from './go-cqhttp/UploadPrivareFile'; import { FetchEmojiLike } from './extends/FetchEmojiLike'; @@ -161,7 +161,7 @@ export function createActionMap(onebotContext: NapCatOneBot11Adapter, coreContex new GetRecentContact(onebotContext, coreContext), new MarkAllMsgAsRead(onebotContext, coreContext), new GetProfileLike(onebotContext, coreContext), - new SetGroupHeader(onebotContext, coreContext), + new SetGroupPortrait(onebotContext, coreContext), new FetchCustomFace(onebotContext, coreContext), new GoCQHTTPUploadPrivateFile(onebotContext, coreContext), new GetGuildProfile(onebotContext, coreContext), diff --git a/src/onebot/action/types.ts b/src/onebot/action/types.ts index 2cc84873..2bfbcd28 100644 --- a/src/onebot/action/types.ts +++ b/src/onebot/action/types.ts @@ -100,7 +100,7 @@ export enum ActionName { GetRecentContact = 'get_recent_contact', _MarkAllMsgAsRead = '_mark_all_as_read', GetProfileLike = 'get_profile_like', - SetGroupHeader = 'set_group_head', + SetGroupPortrait = 'set_group_portrait', FetchCustomFace = 'fetch_custom_face', GOCQHTTP_UploadPrivateFile = 'upload_private_file', TestApi01 = 'test_api_01',