aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/randomiseFileNames.ts
blob: 687b288c74107b3a91c96a40ef77b1ff7c0e9c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
    },
});