mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-04 14:41:14 +00:00
Added or updated actionSummary, actionTags, payloadExample, and returnExample properties for all OneBot action classes in the napcat-onebot package. This improves API documentation and discoverability by providing concise summaries, categorization tags, and usage examples for each action.
47 lines
1.7 KiB
TypeScript
47 lines
1.7 KiB
TypeScript
import { ActionName } from '@/napcat-onebot/action/router';
|
|
import { FileNapCatOneBotUUID } from 'napcat-common/src/file-uuid';
|
|
import { GetPacketStatusDepends } from '@/napcat-onebot/action/packet/GetPacketStatus';
|
|
import { Static, Type } from '@sinclair/typebox';
|
|
|
|
const PayloadSchema = Type.Object({
|
|
group_id: Type.String({ description: '群号' }),
|
|
file_id: Type.String({ description: '文件ID' }),
|
|
current_parent_directory: Type.String({ description: '当前父目录' }),
|
|
target_parent_directory: Type.String({ description: '目标父目录' }),
|
|
});
|
|
|
|
type PayloadType = Static<typeof PayloadSchema>;
|
|
|
|
const ReturnSchema = Type.Object({
|
|
ok: Type.Boolean({ description: '是否成功' }),
|
|
}, { description: '移动文件结果' });
|
|
|
|
type ReturnType = Static<typeof ReturnSchema>;
|
|
|
|
export class MoveGroupFile extends GetPacketStatusDepends<PayloadType, ReturnType> {
|
|
override actionName = ActionName.MoveGroupFile;
|
|
override actionSummary = '移动群文件';
|
|
override actionTags = ['文件扩展'];
|
|
override payloadExample = {
|
|
group_id: 123456,
|
|
file_id: '/file_id',
|
|
parent_id: '/target_folder_id'
|
|
};
|
|
override returnExample = {
|
|
result: true
|
|
};
|
|
override payloadSchema = PayloadSchema;
|
|
override returnSchema = ReturnSchema;
|
|
|
|
async _handle (payload: PayloadType) {
|
|
const contextMsgFile = FileNapCatOneBotUUID.decode(payload.file_id) || FileNapCatOneBotUUID.decodeModelId(payload.file_id);
|
|
if (contextMsgFile?.fileUUID) {
|
|
await this.core.apis.PacketApi.pkt.operation.MoveGroupFile(+payload.group_id, contextMsgFile.fileUUID, payload.current_parent_directory, payload.target_parent_directory);
|
|
return {
|
|
ok: true,
|
|
};
|
|
}
|
|
throw new Error('real fileUUID not found!');
|
|
}
|
|
}
|