diff --git a/src/plugins/randomiseFileNames.ts b/src/plugins/randomiseFileNames.ts new file mode 100644 index 00000000..687b288c --- /dev/null +++ b/src/plugins/randomiseFileNames.ts @@ -0,0 +1,32 @@ +import definePlugin from "../utils/types"; + +export default definePlugin({ + name: "RandomiseFileNames", + authors: [ + { + name: "obscurity", + id: 336678828233588736n, + }, + ], + description: "Randomise uploaded file names", + patches: [ + { + find: "instantBatchUpload:function", + replacement: { + match: /uploadFiles:(.{1,2}),/, + replace: + "uploadFiles:(...args)=>(args[0].uploads.forEach(f=>f.filename=Vencord.Plugins.plugins.RandomiseFileNames.rand(f.filename)),$1(...args)),", + }, + }, + ], + + rand(file) { + const chars = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + const rand = Array.from( + { length: 7 }, + () => chars[Math.floor(Math.random() * chars.length)] + ).join(""); + return rand + window.DiscordNative.fileManager.extname(file); + }, +});