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.
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { ActionName } from '@/napcat-onebot/action/router';
|
|
import { OneBotAction } from '@/napcat-onebot/action/OneBotAction';
|
|
import { join } from 'node:path';
|
|
import { readdir, unlink } from 'node:fs/promises';
|
|
import { Type } from '@sinclair/typebox';
|
|
|
|
export class CleanStreamTempFile extends OneBotAction<void, void> {
|
|
override actionName = ActionName.CleanStreamTempFile;
|
|
override actionSummary = '清理流式传输临时文件';
|
|
override actionTags = ['流式传输扩展'];
|
|
override payloadExample = {};
|
|
override returnExample = {
|
|
message: 'success'
|
|
};
|
|
override payloadSchema = Type.Object({});
|
|
override returnSchema = Type.Null();
|
|
|
|
async _handle (_payload: void): Promise<void> {
|
|
try {
|
|
// 获取临时文件夹路径
|
|
const tempPath = this.core.NapCatTempPath;
|
|
|
|
// 读取文件夹中的所有文件
|
|
const files = await readdir(tempPath);
|
|
|
|
// 删除每个文件
|
|
const deletePromises = files.map(async (file) => {
|
|
const filePath = join(tempPath, file);
|
|
try {
|
|
await unlink(filePath);
|
|
this.core.context.logger.log(`已删除文件: ${filePath}`);
|
|
} catch (err: unknown) {
|
|
this.core.context.logger.log(`删除文件 ${filePath} 失败: ${(err as Error).message}`);
|
|
}
|
|
});
|
|
await Promise.all(deletePromises);
|
|
} catch (err: unknown) {
|
|
this.core.context.logger.log(`清理流临时文件失败: ${(err as Error).message}`);
|
|
}
|
|
}
|
|
}
|