NapCatQQ source snapshot
This commit is contained in:
commit
f954252a34
1111 files changed
+139867
No files matched your search
@@ -0,0 +1,42 @@
|
||||
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}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user