feat: 移动群文件

This commit is contained in:
Clansty
2025-04-08 02:48:48 +08:00
parent 0e9d875f0b
commit 1bfd8ef2dc
6 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import { ActionName } from '@/onebot/action/router';
import { FileNapCatOneBotUUID } from '@/common/file-uuid';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { Static, Type } from '@sinclair/typebox';
const SchemaData = Type.Object({
group_id: Type.Union([Type.Number(), Type.String()]),
file_id: Type.String(),
current_parent_directory: Type.String(),
target_parent_directory: Type.String(),
});
type Payload = Static<typeof SchemaData>;
interface MoveGroupFileResponse {
retcode: number;
}
export class MoveGroupFile extends GetPacketStatusDepends<Payload, MoveGroupFileResponse> {
override actionName = ActionName.GOCQHTTP_MoveGroupFile;
override payloadSchema = SchemaData;
async _handle(payload: Payload) {
const contextMsgFile = FileNapCatOneBotUUID.decode(payload.file_id) || FileNapCatOneBotUUID.decodeModelId(payload.file_id);
if (contextMsgFile?.fileUUID) {
return {
retcode: await this.core.apis.PacketApi.pkt.operation.MoveGroupFile(+payload.group_id, contextMsgFile.fileUUID, payload.current_parent_directory, payload.target_parent_directory)
};
}
throw new Error('real fileUUID not found!');
}
}

View File

@@ -109,6 +109,7 @@ import { ClickInlineKeyboardButton } from './extends/ClickInlineKeyboardButton';
import { GetPrivateFileUrl } from './file/GetPrivateFileUrl';
import { GetUnidirectionalFriendList } from './extends/GetUnidirectionalFriendList';
import SetGroupRemark from './extends/SetGroupRemark';
import { MoveGroupFile } from './extends/MoveGroupFile';
export function createActionMap(obContext: NapCatOneBot11Adapter, core: NapCatCore) {
@@ -132,6 +133,7 @@ export function createActionMap(obContext: NapCatOneBot11Adapter, core: NapCatCo
new SetGroupSign(obContext, core),
new SendGroupSign(obContext, core),
new GetClientkey(obContext, core),
new MoveGroupFile(obContext, core),
// onebot11
new SendLike(obContext, core),
new GetMsg(obContext, core),

View File

@@ -85,6 +85,7 @@ export const ActionName = {
GoCQHTTP_GetGroupRootFiles: 'get_group_root_files',
GoCQHTTP_GetGroupFilesByFolder: 'get_group_files_by_folder',
GOCQHTTP_GetGroupFileUrl: 'get_group_file_url',
GOCQHTTP_MoveGroupFile: 'move_group_file',
GOCQHTTP_UploadPrivateFile: 'upload_private_file',
// GOCQHTTP_ReloadEventFilter : 'reload_event_filter',
GoCQHTTP_DownloadFile: 'download_file',