Discord bot to open dong files

change from bun to node js

+1245 -14
+7
.gitignore
··· 32 32 33 33 # Finder (MacOS) folder config 34 34 .DS_Store 35 + lib/index.js 36 + lib/sync.js 37 + lib/commands/dong/create.js 38 + lib/commands/dong/open.js 39 + lib/commands/util/ping.js 40 + lib/lib/dong-io.js 41 + lib/lib/download.js
+3
babel.config.json
··· 1 + { 2 + "plugins": ["@babel/plugin-transform-typescript"] 3 + }
+13 -6
package.json
··· 4 4 "type": "module", 5 5 "private": true, 6 6 "scripts": { 7 - "dev": "bun --watch src/index.ts", 8 - "commands:sync": "bun src/sync.js" 7 + "dev": "node --watch src/index.ts", 8 + "commands:sync": "node src/sync.js", 9 + "build": "babel src -d lib --extensions .ts,.js", 10 + "preview": "node lib" 9 11 }, 10 12 "devDependencies": { 11 - "@types/bun": "latest" 13 + "@babel/cli": "^7.26.4", 14 + "@babel/core": "^7.26.9", 15 + "@babel/plugin-transform-typescript": "^7.26.8", 16 + "@types/node": "latest" 12 17 }, 13 18 "peerDependencies": { 14 19 "typescript": "^5" 15 20 }, 16 21 "dependencies": { 17 - "@types/mime": "^4.0.0", 18 22 "discord.js": "^14.18.0", 23 + "dotenv": "^16.4.7", 24 + "glob": "^11.0.1", 19 25 "mime": "^4.0.6" 20 - } 21 - } 26 + }, 27 + "packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b" 28 + }
+1207
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + discord.js: 12 + specifier: ^14.18.0 13 + version: 14.18.0 14 + dotenv: 15 + specifier: ^16.4.7 16 + version: 16.4.7 17 + glob: 18 + specifier: ^11.0.1 19 + version: 11.0.1 20 + mime: 21 + specifier: ^4.0.6 22 + version: 4.0.6 23 + devDependencies: 24 + '@babel/cli': 25 + specifier: ^7.26.4 26 + version: 7.26.4(@babel/core@7.26.9) 27 + '@babel/core': 28 + specifier: ^7.26.9 29 + version: 7.26.9 30 + '@babel/plugin-transform-typescript': 31 + specifier: ^7.26.8 32 + version: 7.26.8(@babel/core@7.26.9) 33 + '@types/node': 34 + specifier: latest 35 + version: 22.13.9 36 + 37 + packages: 38 + 39 + '@ampproject/remapping@2.3.0': 40 + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 41 + engines: {node: '>=6.0.0'} 42 + 43 + '@babel/cli@7.26.4': 44 + resolution: {integrity: sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==} 45 + engines: {node: '>=6.9.0'} 46 + hasBin: true 47 + peerDependencies: 48 + '@babel/core': ^7.0.0-0 49 + 50 + '@babel/code-frame@7.26.2': 51 + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 52 + engines: {node: '>=6.9.0'} 53 + 54 + '@babel/compat-data@7.26.8': 55 + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} 56 + engines: {node: '>=6.9.0'} 57 + 58 + '@babel/core@7.26.9': 59 + resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} 60 + engines: {node: '>=6.9.0'} 61 + 62 + '@babel/generator@7.26.9': 63 + resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} 64 + engines: {node: '>=6.9.0'} 65 + 66 + '@babel/helper-annotate-as-pure@7.25.9': 67 + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} 68 + engines: {node: '>=6.9.0'} 69 + 70 + '@babel/helper-compilation-targets@7.26.5': 71 + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} 72 + engines: {node: '>=6.9.0'} 73 + 74 + '@babel/helper-create-class-features-plugin@7.26.9': 75 + resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} 76 + engines: {node: '>=6.9.0'} 77 + peerDependencies: 78 + '@babel/core': ^7.0.0 79 + 80 + '@babel/helper-member-expression-to-functions@7.25.9': 81 + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} 82 + engines: {node: '>=6.9.0'} 83 + 84 + '@babel/helper-module-imports@7.25.9': 85 + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} 86 + engines: {node: '>=6.9.0'} 87 + 88 + '@babel/helper-module-transforms@7.26.0': 89 + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} 90 + engines: {node: '>=6.9.0'} 91 + peerDependencies: 92 + '@babel/core': ^7.0.0 93 + 94 + '@babel/helper-optimise-call-expression@7.25.9': 95 + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} 96 + engines: {node: '>=6.9.0'} 97 + 98 + '@babel/helper-plugin-utils@7.26.5': 99 + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} 100 + engines: {node: '>=6.9.0'} 101 + 102 + '@babel/helper-replace-supers@7.26.5': 103 + resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} 104 + engines: {node: '>=6.9.0'} 105 + peerDependencies: 106 + '@babel/core': ^7.0.0 107 + 108 + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': 109 + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} 110 + engines: {node: '>=6.9.0'} 111 + 112 + '@babel/helper-string-parser@7.25.9': 113 + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 114 + engines: {node: '>=6.9.0'} 115 + 116 + '@babel/helper-validator-identifier@7.25.9': 117 + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 118 + engines: {node: '>=6.9.0'} 119 + 120 + '@babel/helper-validator-option@7.25.9': 121 + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} 122 + engines: {node: '>=6.9.0'} 123 + 124 + '@babel/helpers@7.26.9': 125 + resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} 126 + engines: {node: '>=6.9.0'} 127 + 128 + '@babel/parser@7.26.9': 129 + resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} 130 + engines: {node: '>=6.0.0'} 131 + hasBin: true 132 + 133 + '@babel/plugin-syntax-typescript@7.25.9': 134 + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} 135 + engines: {node: '>=6.9.0'} 136 + peerDependencies: 137 + '@babel/core': ^7.0.0-0 138 + 139 + '@babel/plugin-transform-typescript@7.26.8': 140 + resolution: {integrity: sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==} 141 + engines: {node: '>=6.9.0'} 142 + peerDependencies: 143 + '@babel/core': ^7.0.0-0 144 + 145 + '@babel/template@7.26.9': 146 + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} 147 + engines: {node: '>=6.9.0'} 148 + 149 + '@babel/traverse@7.26.9': 150 + resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} 151 + engines: {node: '>=6.9.0'} 152 + 153 + '@babel/types@7.26.9': 154 + resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} 155 + engines: {node: '>=6.9.0'} 156 + 157 + '@discordjs/builders@1.10.1': 158 + resolution: {integrity: sha512-OWo1fY4ztL1/M/DUyRPShB4d/EzVfuUvPTRRHRIt/YxBrUYSz0a+JicD5F5zHFoNs2oTuWavxCOVFV1UljHTng==} 159 + engines: {node: '>=16.11.0'} 160 + 161 + '@discordjs/collection@1.5.3': 162 + resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} 163 + engines: {node: '>=16.11.0'} 164 + 165 + '@discordjs/collection@2.1.1': 166 + resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==} 167 + engines: {node: '>=18'} 168 + 169 + '@discordjs/formatters@0.6.0': 170 + resolution: {integrity: sha512-YIruKw4UILt/ivO4uISmrGq2GdMY6EkoTtD0oS0GvkJFRZbTSdPhzYiUILbJ/QslsvC9H9nTgGgnarnIl4jMfw==} 171 + engines: {node: '>=16.11.0'} 172 + 173 + '@discordjs/rest@2.4.3': 174 + resolution: {integrity: sha512-+SO4RKvWsM+y8uFHgYQrcTl/3+cY02uQOH7/7bKbVZsTfrfpoE62o5p+mmV+s7FVhTX82/kQUGGbu4YlV60RtA==} 175 + engines: {node: '>=18'} 176 + 177 + '@discordjs/util@1.1.1': 178 + resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==} 179 + engines: {node: '>=18'} 180 + 181 + '@discordjs/ws@1.2.1': 182 + resolution: {integrity: sha512-PBvenhZG56a6tMWF/f4P6f4GxZKJTBG95n7aiGSPTnodmz4N5g60t79rSIAq7ywMbv8A4jFtexMruH+oe51aQQ==} 183 + engines: {node: '>=16.11.0'} 184 + 185 + '@isaacs/cliui@8.0.2': 186 + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 187 + engines: {node: '>=12'} 188 + 189 + '@jridgewell/gen-mapping@0.3.8': 190 + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 191 + engines: {node: '>=6.0.0'} 192 + 193 + '@jridgewell/resolve-uri@3.1.2': 194 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 195 + engines: {node: '>=6.0.0'} 196 + 197 + '@jridgewell/set-array@1.2.1': 198 + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 199 + engines: {node: '>=6.0.0'} 200 + 201 + '@jridgewell/sourcemap-codec@1.5.0': 202 + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 203 + 204 + '@jridgewell/trace-mapping@0.3.25': 205 + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 206 + 207 + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': 208 + resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} 209 + 210 + '@sapphire/async-queue@1.5.5': 211 + resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==} 212 + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} 213 + 214 + '@sapphire/shapeshift@4.0.0': 215 + resolution: {integrity: sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==} 216 + engines: {node: '>=v16'} 217 + 218 + '@sapphire/snowflake@3.5.3': 219 + resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==} 220 + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} 221 + 222 + '@types/node@22.13.9': 223 + resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==} 224 + 225 + '@types/ws@8.18.0': 226 + resolution: {integrity: sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw==} 227 + 228 + '@vladfrangu/async_event_emitter@2.4.6': 229 + resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} 230 + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} 231 + 232 + ansi-regex@5.0.1: 233 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 234 + engines: {node: '>=8'} 235 + 236 + ansi-regex@6.1.0: 237 + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 238 + engines: {node: '>=12'} 239 + 240 + ansi-styles@4.3.0: 241 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 242 + engines: {node: '>=8'} 243 + 244 + ansi-styles@6.2.1: 245 + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 246 + engines: {node: '>=12'} 247 + 248 + anymatch@3.1.3: 249 + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 250 + engines: {node: '>= 8'} 251 + 252 + balanced-match@1.0.2: 253 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 254 + 255 + binary-extensions@2.3.0: 256 + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 257 + engines: {node: '>=8'} 258 + 259 + brace-expansion@1.1.11: 260 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 261 + 262 + brace-expansion@2.0.1: 263 + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 264 + 265 + braces@3.0.3: 266 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 267 + engines: {node: '>=8'} 268 + 269 + browserslist@4.24.4: 270 + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} 271 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 272 + hasBin: true 273 + 274 + caniuse-lite@1.0.30001702: 275 + resolution: {integrity: sha512-LoPe/D7zioC0REI5W73PeR1e1MLCipRGq/VkovJnd6Df+QVqT+vT33OXCp8QUd7kA7RZrHWxb1B36OQKI/0gOA==} 276 + 277 + chokidar@3.6.0: 278 + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 279 + engines: {node: '>= 8.10.0'} 280 + 281 + color-convert@2.0.1: 282 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 283 + engines: {node: '>=7.0.0'} 284 + 285 + color-name@1.1.4: 286 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 287 + 288 + commander@6.2.1: 289 + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} 290 + engines: {node: '>= 6'} 291 + 292 + concat-map@0.0.1: 293 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 294 + 295 + convert-source-map@2.0.0: 296 + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 297 + 298 + cross-spawn@7.0.6: 299 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 300 + engines: {node: '>= 8'} 301 + 302 + debug@4.4.0: 303 + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 304 + engines: {node: '>=6.0'} 305 + peerDependencies: 306 + supports-color: '*' 307 + peerDependenciesMeta: 308 + supports-color: 309 + optional: true 310 + 311 + discord-api-types@0.37.119: 312 + resolution: {integrity: sha512-WasbGFXEB+VQWXlo6IpW3oUv73Yuau1Ig4AZF/m13tXcTKnMpc/mHjpztIlz4+BM9FG9BHQkEXiPto3bKduQUg==} 313 + 314 + discord.js@14.18.0: 315 + resolution: {integrity: sha512-SvU5kVUvwunQhN2/+0t55QW/1EHfB1lp0TtLZUSXVHDmyHTrdOj5LRKdR0zLcybaA15F+NtdWuWmGOX9lE+CAw==} 316 + engines: {node: '>=18'} 317 + 318 + dotenv@16.4.7: 319 + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} 320 + engines: {node: '>=12'} 321 + 322 + eastasianwidth@0.2.0: 323 + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 324 + 325 + electron-to-chromium@1.5.113: 326 + resolution: {integrity: sha512-wjT2O4hX+wdWPJ76gWSkMhcHAV2PTMX+QetUCPYEdCIe+cxmgzzSSiGRCKW8nuh4mwKZlpv0xvoW7OF2X+wmHg==} 327 + 328 + emoji-regex@8.0.0: 329 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 330 + 331 + emoji-regex@9.2.2: 332 + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 333 + 334 + escalade@3.2.0: 335 + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 336 + engines: {node: '>=6'} 337 + 338 + fast-deep-equal@3.1.3: 339 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 340 + 341 + fill-range@7.1.1: 342 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 343 + engines: {node: '>=8'} 344 + 345 + foreground-child@3.3.1: 346 + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 347 + engines: {node: '>=14'} 348 + 349 + fs-readdir-recursive@1.1.0: 350 + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} 351 + 352 + fs.realpath@1.0.0: 353 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 354 + 355 + fsevents@2.3.3: 356 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 357 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 358 + os: [darwin] 359 + 360 + gensync@1.0.0-beta.2: 361 + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 362 + engines: {node: '>=6.9.0'} 363 + 364 + glob-parent@5.1.2: 365 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 366 + engines: {node: '>= 6'} 367 + 368 + glob@11.0.1: 369 + resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} 370 + engines: {node: 20 || >=22} 371 + hasBin: true 372 + 373 + glob@7.2.3: 374 + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 375 + deprecated: Glob versions prior to v9 are no longer supported 376 + 377 + globals@11.12.0: 378 + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 379 + engines: {node: '>=4'} 380 + 381 + inflight@1.0.6: 382 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 383 + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 384 + 385 + inherits@2.0.4: 386 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 387 + 388 + is-binary-path@2.1.0: 389 + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 390 + engines: {node: '>=8'} 391 + 392 + is-extglob@2.1.1: 393 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 394 + engines: {node: '>=0.10.0'} 395 + 396 + is-fullwidth-code-point@3.0.0: 397 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 398 + engines: {node: '>=8'} 399 + 400 + is-glob@4.0.3: 401 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 402 + engines: {node: '>=0.10.0'} 403 + 404 + is-number@7.0.0: 405 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 406 + engines: {node: '>=0.12.0'} 407 + 408 + isexe@2.0.0: 409 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 410 + 411 + jackspeak@4.1.0: 412 + resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} 413 + engines: {node: 20 || >=22} 414 + 415 + js-tokens@4.0.0: 416 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 417 + 418 + jsesc@3.1.0: 419 + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 420 + engines: {node: '>=6'} 421 + hasBin: true 422 + 423 + json5@2.2.3: 424 + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 425 + engines: {node: '>=6'} 426 + hasBin: true 427 + 428 + lodash.snakecase@4.1.1: 429 + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} 430 + 431 + lodash@4.17.21: 432 + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 433 + 434 + lru-cache@11.0.2: 435 + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} 436 + engines: {node: 20 || >=22} 437 + 438 + lru-cache@5.1.1: 439 + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 440 + 441 + magic-bytes.js@1.10.0: 442 + resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} 443 + 444 + make-dir@2.1.0: 445 + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} 446 + engines: {node: '>=6'} 447 + 448 + mime@4.0.6: 449 + resolution: {integrity: sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==} 450 + engines: {node: '>=16'} 451 + hasBin: true 452 + 453 + minimatch@10.0.1: 454 + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} 455 + engines: {node: 20 || >=22} 456 + 457 + minimatch@3.1.2: 458 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 459 + 460 + minipass@7.1.2: 461 + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 462 + engines: {node: '>=16 || 14 >=14.17'} 463 + 464 + ms@2.1.3: 465 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 466 + 467 + node-releases@2.0.19: 468 + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 469 + 470 + normalize-path@3.0.0: 471 + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 472 + engines: {node: '>=0.10.0'} 473 + 474 + once@1.4.0: 475 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 476 + 477 + package-json-from-dist@1.0.1: 478 + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 479 + 480 + path-is-absolute@1.0.1: 481 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 482 + engines: {node: '>=0.10.0'} 483 + 484 + path-key@3.1.1: 485 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 486 + engines: {node: '>=8'} 487 + 488 + path-scurry@2.0.0: 489 + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} 490 + engines: {node: 20 || >=22} 491 + 492 + picocolors@1.1.1: 493 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 494 + 495 + picomatch@2.3.1: 496 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 497 + engines: {node: '>=8.6'} 498 + 499 + pify@4.0.1: 500 + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 501 + engines: {node: '>=6'} 502 + 503 + readdirp@3.6.0: 504 + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 505 + engines: {node: '>=8.10.0'} 506 + 507 + semver@5.7.2: 508 + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 509 + hasBin: true 510 + 511 + semver@6.3.1: 512 + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 513 + hasBin: true 514 + 515 + shebang-command@2.0.0: 516 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 517 + engines: {node: '>=8'} 518 + 519 + shebang-regex@3.0.0: 520 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 521 + engines: {node: '>=8'} 522 + 523 + signal-exit@4.1.0: 524 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 525 + engines: {node: '>=14'} 526 + 527 + slash@2.0.0: 528 + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} 529 + engines: {node: '>=6'} 530 + 531 + string-width@4.2.3: 532 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 533 + engines: {node: '>=8'} 534 + 535 + string-width@5.1.2: 536 + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 537 + engines: {node: '>=12'} 538 + 539 + strip-ansi@6.0.1: 540 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 541 + engines: {node: '>=8'} 542 + 543 + strip-ansi@7.1.0: 544 + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 545 + engines: {node: '>=12'} 546 + 547 + to-regex-range@5.0.1: 548 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 549 + engines: {node: '>=8.0'} 550 + 551 + ts-mixer@6.0.4: 552 + resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} 553 + 554 + tslib@2.8.1: 555 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 556 + 557 + undici-types@6.20.0: 558 + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 559 + 560 + undici@6.21.1: 561 + resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} 562 + engines: {node: '>=18.17'} 563 + 564 + update-browserslist-db@1.1.3: 565 + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 566 + hasBin: true 567 + peerDependencies: 568 + browserslist: '>= 4.21.0' 569 + 570 + which@2.0.2: 571 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 572 + engines: {node: '>= 8'} 573 + hasBin: true 574 + 575 + wrap-ansi@7.0.0: 576 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 577 + engines: {node: '>=10'} 578 + 579 + wrap-ansi@8.1.0: 580 + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 581 + engines: {node: '>=12'} 582 + 583 + wrappy@1.0.2: 584 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 585 + 586 + ws@8.18.1: 587 + resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} 588 + engines: {node: '>=10.0.0'} 589 + peerDependencies: 590 + bufferutil: ^4.0.1 591 + utf-8-validate: '>=5.0.2' 592 + peerDependenciesMeta: 593 + bufferutil: 594 + optional: true 595 + utf-8-validate: 596 + optional: true 597 + 598 + yallist@3.1.1: 599 + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 600 + 601 + snapshots: 602 + 603 + '@ampproject/remapping@2.3.0': 604 + dependencies: 605 + '@jridgewell/gen-mapping': 0.3.8 606 + '@jridgewell/trace-mapping': 0.3.25 607 + 608 + '@babel/cli@7.26.4(@babel/core@7.26.9)': 609 + dependencies: 610 + '@babel/core': 7.26.9 611 + '@jridgewell/trace-mapping': 0.3.25 612 + commander: 6.2.1 613 + convert-source-map: 2.0.0 614 + fs-readdir-recursive: 1.1.0 615 + glob: 7.2.3 616 + make-dir: 2.1.0 617 + slash: 2.0.0 618 + optionalDependencies: 619 + '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 620 + chokidar: 3.6.0 621 + 622 + '@babel/code-frame@7.26.2': 623 + dependencies: 624 + '@babel/helper-validator-identifier': 7.25.9 625 + js-tokens: 4.0.0 626 + picocolors: 1.1.1 627 + 628 + '@babel/compat-data@7.26.8': {} 629 + 630 + '@babel/core@7.26.9': 631 + dependencies: 632 + '@ampproject/remapping': 2.3.0 633 + '@babel/code-frame': 7.26.2 634 + '@babel/generator': 7.26.9 635 + '@babel/helper-compilation-targets': 7.26.5 636 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) 637 + '@babel/helpers': 7.26.9 638 + '@babel/parser': 7.26.9 639 + '@babel/template': 7.26.9 640 + '@babel/traverse': 7.26.9 641 + '@babel/types': 7.26.9 642 + convert-source-map: 2.0.0 643 + debug: 4.4.0 644 + gensync: 1.0.0-beta.2 645 + json5: 2.2.3 646 + semver: 6.3.1 647 + transitivePeerDependencies: 648 + - supports-color 649 + 650 + '@babel/generator@7.26.9': 651 + dependencies: 652 + '@babel/parser': 7.26.9 653 + '@babel/types': 7.26.9 654 + '@jridgewell/gen-mapping': 0.3.8 655 + '@jridgewell/trace-mapping': 0.3.25 656 + jsesc: 3.1.0 657 + 658 + '@babel/helper-annotate-as-pure@7.25.9': 659 + dependencies: 660 + '@babel/types': 7.26.9 661 + 662 + '@babel/helper-compilation-targets@7.26.5': 663 + dependencies: 664 + '@babel/compat-data': 7.26.8 665 + '@babel/helper-validator-option': 7.25.9 666 + browserslist: 4.24.4 667 + lru-cache: 5.1.1 668 + semver: 6.3.1 669 + 670 + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)': 671 + dependencies: 672 + '@babel/core': 7.26.9 673 + '@babel/helper-annotate-as-pure': 7.25.9 674 + '@babel/helper-member-expression-to-functions': 7.25.9 675 + '@babel/helper-optimise-call-expression': 7.25.9 676 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) 677 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 678 + '@babel/traverse': 7.26.9 679 + semver: 6.3.1 680 + transitivePeerDependencies: 681 + - supports-color 682 + 683 + '@babel/helper-member-expression-to-functions@7.25.9': 684 + dependencies: 685 + '@babel/traverse': 7.26.9 686 + '@babel/types': 7.26.9 687 + transitivePeerDependencies: 688 + - supports-color 689 + 690 + '@babel/helper-module-imports@7.25.9': 691 + dependencies: 692 + '@babel/traverse': 7.26.9 693 + '@babel/types': 7.26.9 694 + transitivePeerDependencies: 695 + - supports-color 696 + 697 + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': 698 + dependencies: 699 + '@babel/core': 7.26.9 700 + '@babel/helper-module-imports': 7.25.9 701 + '@babel/helper-validator-identifier': 7.25.9 702 + '@babel/traverse': 7.26.9 703 + transitivePeerDependencies: 704 + - supports-color 705 + 706 + '@babel/helper-optimise-call-expression@7.25.9': 707 + dependencies: 708 + '@babel/types': 7.26.9 709 + 710 + '@babel/helper-plugin-utils@7.26.5': {} 711 + 712 + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)': 713 + dependencies: 714 + '@babel/core': 7.26.9 715 + '@babel/helper-member-expression-to-functions': 7.25.9 716 + '@babel/helper-optimise-call-expression': 7.25.9 717 + '@babel/traverse': 7.26.9 718 + transitivePeerDependencies: 719 + - supports-color 720 + 721 + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': 722 + dependencies: 723 + '@babel/traverse': 7.26.9 724 + '@babel/types': 7.26.9 725 + transitivePeerDependencies: 726 + - supports-color 727 + 728 + '@babel/helper-string-parser@7.25.9': {} 729 + 730 + '@babel/helper-validator-identifier@7.25.9': {} 731 + 732 + '@babel/helper-validator-option@7.25.9': {} 733 + 734 + '@babel/helpers@7.26.9': 735 + dependencies: 736 + '@babel/template': 7.26.9 737 + '@babel/types': 7.26.9 738 + 739 + '@babel/parser@7.26.9': 740 + dependencies: 741 + '@babel/types': 7.26.9 742 + 743 + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9)': 744 + dependencies: 745 + '@babel/core': 7.26.9 746 + '@babel/helper-plugin-utils': 7.26.5 747 + 748 + '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.9)': 749 + dependencies: 750 + '@babel/core': 7.26.9 751 + '@babel/helper-annotate-as-pure': 7.25.9 752 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) 753 + '@babel/helper-plugin-utils': 7.26.5 754 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 755 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.9) 756 + transitivePeerDependencies: 757 + - supports-color 758 + 759 + '@babel/template@7.26.9': 760 + dependencies: 761 + '@babel/code-frame': 7.26.2 762 + '@babel/parser': 7.26.9 763 + '@babel/types': 7.26.9 764 + 765 + '@babel/traverse@7.26.9': 766 + dependencies: 767 + '@babel/code-frame': 7.26.2 768 + '@babel/generator': 7.26.9 769 + '@babel/parser': 7.26.9 770 + '@babel/template': 7.26.9 771 + '@babel/types': 7.26.9 772 + debug: 4.4.0 773 + globals: 11.12.0 774 + transitivePeerDependencies: 775 + - supports-color 776 + 777 + '@babel/types@7.26.9': 778 + dependencies: 779 + '@babel/helper-string-parser': 7.25.9 780 + '@babel/helper-validator-identifier': 7.25.9 781 + 782 + '@discordjs/builders@1.10.1': 783 + dependencies: 784 + '@discordjs/formatters': 0.6.0 785 + '@discordjs/util': 1.1.1 786 + '@sapphire/shapeshift': 4.0.0 787 + discord-api-types: 0.37.119 788 + fast-deep-equal: 3.1.3 789 + ts-mixer: 6.0.4 790 + tslib: 2.8.1 791 + 792 + '@discordjs/collection@1.5.3': {} 793 + 794 + '@discordjs/collection@2.1.1': {} 795 + 796 + '@discordjs/formatters@0.6.0': 797 + dependencies: 798 + discord-api-types: 0.37.119 799 + 800 + '@discordjs/rest@2.4.3': 801 + dependencies: 802 + '@discordjs/collection': 2.1.1 803 + '@discordjs/util': 1.1.1 804 + '@sapphire/async-queue': 1.5.5 805 + '@sapphire/snowflake': 3.5.3 806 + '@vladfrangu/async_event_emitter': 2.4.6 807 + discord-api-types: 0.37.119 808 + magic-bytes.js: 1.10.0 809 + tslib: 2.8.1 810 + undici: 6.21.1 811 + 812 + '@discordjs/util@1.1.1': {} 813 + 814 + '@discordjs/ws@1.2.1': 815 + dependencies: 816 + '@discordjs/collection': 2.1.1 817 + '@discordjs/rest': 2.4.3 818 + '@discordjs/util': 1.1.1 819 + '@sapphire/async-queue': 1.5.5 820 + '@types/ws': 8.18.0 821 + '@vladfrangu/async_event_emitter': 2.4.6 822 + discord-api-types: 0.37.119 823 + tslib: 2.8.1 824 + ws: 8.18.1 825 + transitivePeerDependencies: 826 + - bufferutil 827 + - utf-8-validate 828 + 829 + '@isaacs/cliui@8.0.2': 830 + dependencies: 831 + string-width: 5.1.2 832 + string-width-cjs: string-width@4.2.3 833 + strip-ansi: 7.1.0 834 + strip-ansi-cjs: strip-ansi@6.0.1 835 + wrap-ansi: 8.1.0 836 + wrap-ansi-cjs: wrap-ansi@7.0.0 837 + 838 + '@jridgewell/gen-mapping@0.3.8': 839 + dependencies: 840 + '@jridgewell/set-array': 1.2.1 841 + '@jridgewell/sourcemap-codec': 1.5.0 842 + '@jridgewell/trace-mapping': 0.3.25 843 + 844 + '@jridgewell/resolve-uri@3.1.2': {} 845 + 846 + '@jridgewell/set-array@1.2.1': {} 847 + 848 + '@jridgewell/sourcemap-codec@1.5.0': {} 849 + 850 + '@jridgewell/trace-mapping@0.3.25': 851 + dependencies: 852 + '@jridgewell/resolve-uri': 3.1.2 853 + '@jridgewell/sourcemap-codec': 1.5.0 854 + 855 + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': 856 + optional: true 857 + 858 + '@sapphire/async-queue@1.5.5': {} 859 + 860 + '@sapphire/shapeshift@4.0.0': 861 + dependencies: 862 + fast-deep-equal: 3.1.3 863 + lodash: 4.17.21 864 + 865 + '@sapphire/snowflake@3.5.3': {} 866 + 867 + '@types/node@22.13.9': 868 + dependencies: 869 + undici-types: 6.20.0 870 + 871 + '@types/ws@8.18.0': 872 + dependencies: 873 + '@types/node': 22.13.9 874 + 875 + '@vladfrangu/async_event_emitter@2.4.6': {} 876 + 877 + ansi-regex@5.0.1: {} 878 + 879 + ansi-regex@6.1.0: {} 880 + 881 + ansi-styles@4.3.0: 882 + dependencies: 883 + color-convert: 2.0.1 884 + 885 + ansi-styles@6.2.1: {} 886 + 887 + anymatch@3.1.3: 888 + dependencies: 889 + normalize-path: 3.0.0 890 + picomatch: 2.3.1 891 + optional: true 892 + 893 + balanced-match@1.0.2: {} 894 + 895 + binary-extensions@2.3.0: 896 + optional: true 897 + 898 + brace-expansion@1.1.11: 899 + dependencies: 900 + balanced-match: 1.0.2 901 + concat-map: 0.0.1 902 + 903 + brace-expansion@2.0.1: 904 + dependencies: 905 + balanced-match: 1.0.2 906 + 907 + braces@3.0.3: 908 + dependencies: 909 + fill-range: 7.1.1 910 + optional: true 911 + 912 + browserslist@4.24.4: 913 + dependencies: 914 + caniuse-lite: 1.0.30001702 915 + electron-to-chromium: 1.5.113 916 + node-releases: 2.0.19 917 + update-browserslist-db: 1.1.3(browserslist@4.24.4) 918 + 919 + caniuse-lite@1.0.30001702: {} 920 + 921 + chokidar@3.6.0: 922 + dependencies: 923 + anymatch: 3.1.3 924 + braces: 3.0.3 925 + glob-parent: 5.1.2 926 + is-binary-path: 2.1.0 927 + is-glob: 4.0.3 928 + normalize-path: 3.0.0 929 + readdirp: 3.6.0 930 + optionalDependencies: 931 + fsevents: 2.3.3 932 + optional: true 933 + 934 + color-convert@2.0.1: 935 + dependencies: 936 + color-name: 1.1.4 937 + 938 + color-name@1.1.4: {} 939 + 940 + commander@6.2.1: {} 941 + 942 + concat-map@0.0.1: {} 943 + 944 + convert-source-map@2.0.0: {} 945 + 946 + cross-spawn@7.0.6: 947 + dependencies: 948 + path-key: 3.1.1 949 + shebang-command: 2.0.0 950 + which: 2.0.2 951 + 952 + debug@4.4.0: 953 + dependencies: 954 + ms: 2.1.3 955 + 956 + discord-api-types@0.37.119: {} 957 + 958 + discord.js@14.18.0: 959 + dependencies: 960 + '@discordjs/builders': 1.10.1 961 + '@discordjs/collection': 1.5.3 962 + '@discordjs/formatters': 0.6.0 963 + '@discordjs/rest': 2.4.3 964 + '@discordjs/util': 1.1.1 965 + '@discordjs/ws': 1.2.1 966 + '@sapphire/snowflake': 3.5.3 967 + discord-api-types: 0.37.119 968 + fast-deep-equal: 3.1.3 969 + lodash.snakecase: 4.1.1 970 + tslib: 2.8.1 971 + undici: 6.21.1 972 + transitivePeerDependencies: 973 + - bufferutil 974 + - utf-8-validate 975 + 976 + dotenv@16.4.7: {} 977 + 978 + eastasianwidth@0.2.0: {} 979 + 980 + electron-to-chromium@1.5.113: {} 981 + 982 + emoji-regex@8.0.0: {} 983 + 984 + emoji-regex@9.2.2: {} 985 + 986 + escalade@3.2.0: {} 987 + 988 + fast-deep-equal@3.1.3: {} 989 + 990 + fill-range@7.1.1: 991 + dependencies: 992 + to-regex-range: 5.0.1 993 + optional: true 994 + 995 + foreground-child@3.3.1: 996 + dependencies: 997 + cross-spawn: 7.0.6 998 + signal-exit: 4.1.0 999 + 1000 + fs-readdir-recursive@1.1.0: {} 1001 + 1002 + fs.realpath@1.0.0: {} 1003 + 1004 + fsevents@2.3.3: 1005 + optional: true 1006 + 1007 + gensync@1.0.0-beta.2: {} 1008 + 1009 + glob-parent@5.1.2: 1010 + dependencies: 1011 + is-glob: 4.0.3 1012 + optional: true 1013 + 1014 + glob@11.0.1: 1015 + dependencies: 1016 + foreground-child: 3.3.1 1017 + jackspeak: 4.1.0 1018 + minimatch: 10.0.1 1019 + minipass: 7.1.2 1020 + package-json-from-dist: 1.0.1 1021 + path-scurry: 2.0.0 1022 + 1023 + glob@7.2.3: 1024 + dependencies: 1025 + fs.realpath: 1.0.0 1026 + inflight: 1.0.6 1027 + inherits: 2.0.4 1028 + minimatch: 3.1.2 1029 + once: 1.4.0 1030 + path-is-absolute: 1.0.1 1031 + 1032 + globals@11.12.0: {} 1033 + 1034 + inflight@1.0.6: 1035 + dependencies: 1036 + once: 1.4.0 1037 + wrappy: 1.0.2 1038 + 1039 + inherits@2.0.4: {} 1040 + 1041 + is-binary-path@2.1.0: 1042 + dependencies: 1043 + binary-extensions: 2.3.0 1044 + optional: true 1045 + 1046 + is-extglob@2.1.1: 1047 + optional: true 1048 + 1049 + is-fullwidth-code-point@3.0.0: {} 1050 + 1051 + is-glob@4.0.3: 1052 + dependencies: 1053 + is-extglob: 2.1.1 1054 + optional: true 1055 + 1056 + is-number@7.0.0: 1057 + optional: true 1058 + 1059 + isexe@2.0.0: {} 1060 + 1061 + jackspeak@4.1.0: 1062 + dependencies: 1063 + '@isaacs/cliui': 8.0.2 1064 + 1065 + js-tokens@4.0.0: {} 1066 + 1067 + jsesc@3.1.0: {} 1068 + 1069 + json5@2.2.3: {} 1070 + 1071 + lodash.snakecase@4.1.1: {} 1072 + 1073 + lodash@4.17.21: {} 1074 + 1075 + lru-cache@11.0.2: {} 1076 + 1077 + lru-cache@5.1.1: 1078 + dependencies: 1079 + yallist: 3.1.1 1080 + 1081 + magic-bytes.js@1.10.0: {} 1082 + 1083 + make-dir@2.1.0: 1084 + dependencies: 1085 + pify: 4.0.1 1086 + semver: 5.7.2 1087 + 1088 + mime@4.0.6: {} 1089 + 1090 + minimatch@10.0.1: 1091 + dependencies: 1092 + brace-expansion: 2.0.1 1093 + 1094 + minimatch@3.1.2: 1095 + dependencies: 1096 + brace-expansion: 1.1.11 1097 + 1098 + minipass@7.1.2: {} 1099 + 1100 + ms@2.1.3: {} 1101 + 1102 + node-releases@2.0.19: {} 1103 + 1104 + normalize-path@3.0.0: 1105 + optional: true 1106 + 1107 + once@1.4.0: 1108 + dependencies: 1109 + wrappy: 1.0.2 1110 + 1111 + package-json-from-dist@1.0.1: {} 1112 + 1113 + path-is-absolute@1.0.1: {} 1114 + 1115 + path-key@3.1.1: {} 1116 + 1117 + path-scurry@2.0.0: 1118 + dependencies: 1119 + lru-cache: 11.0.2 1120 + minipass: 7.1.2 1121 + 1122 + picocolors@1.1.1: {} 1123 + 1124 + picomatch@2.3.1: 1125 + optional: true 1126 + 1127 + pify@4.0.1: {} 1128 + 1129 + readdirp@3.6.0: 1130 + dependencies: 1131 + picomatch: 2.3.1 1132 + optional: true 1133 + 1134 + semver@5.7.2: {} 1135 + 1136 + semver@6.3.1: {} 1137 + 1138 + shebang-command@2.0.0: 1139 + dependencies: 1140 + shebang-regex: 3.0.0 1141 + 1142 + shebang-regex@3.0.0: {} 1143 + 1144 + signal-exit@4.1.0: {} 1145 + 1146 + slash@2.0.0: {} 1147 + 1148 + string-width@4.2.3: 1149 + dependencies: 1150 + emoji-regex: 8.0.0 1151 + is-fullwidth-code-point: 3.0.0 1152 + strip-ansi: 6.0.1 1153 + 1154 + string-width@5.1.2: 1155 + dependencies: 1156 + eastasianwidth: 0.2.0 1157 + emoji-regex: 9.2.2 1158 + strip-ansi: 7.1.0 1159 + 1160 + strip-ansi@6.0.1: 1161 + dependencies: 1162 + ansi-regex: 5.0.1 1163 + 1164 + strip-ansi@7.1.0: 1165 + dependencies: 1166 + ansi-regex: 6.1.0 1167 + 1168 + to-regex-range@5.0.1: 1169 + dependencies: 1170 + is-number: 7.0.0 1171 + optional: true 1172 + 1173 + ts-mixer@6.0.4: {} 1174 + 1175 + tslib@2.8.1: {} 1176 + 1177 + undici-types@6.20.0: {} 1178 + 1179 + undici@6.21.1: {} 1180 + 1181 + update-browserslist-db@1.1.3(browserslist@4.24.4): 1182 + dependencies: 1183 + browserslist: 4.24.4 1184 + escalade: 3.2.0 1185 + picocolors: 1.1.1 1186 + 1187 + which@2.0.2: 1188 + dependencies: 1189 + isexe: 2.0.0 1190 + 1191 + wrap-ansi@7.0.0: 1192 + dependencies: 1193 + ansi-styles: 4.3.0 1194 + string-width: 4.2.3 1195 + strip-ansi: 6.0.1 1196 + 1197 + wrap-ansi@8.1.0: 1198 + dependencies: 1199 + ansi-styles: 6.2.1 1200 + string-width: 5.1.2 1201 + strip-ansi: 7.1.0 1202 + 1203 + wrappy@1.0.2: {} 1204 + 1205 + ws@8.18.1: {} 1206 + 1207 + yallist@3.1.1: {}
+2 -2
src/commands/dong/create.ts
··· 5 5 SlashCommandBuilder, 6 6 } from "discord.js"; 7 7 import type { customClient } from "../.."; 8 - import { createDong } from "../../lib/dong-io"; 9 - import { download } from "../../lib/download"; 8 + import { createDong } from "../../lib/dong-io.ts"; 9 + import { download } from "../../lib/download.ts"; 10 10 11 11 export const data = new SlashCommandBuilder() 12 12 .setName("create")
+2 -2
src/commands/dong/open.ts
··· 5 5 SlashCommandBuilder, 6 6 } from "discord.js"; 7 7 import type { customClient } from "../.."; 8 - import { download } from "../../lib/download"; 9 - import { readDong } from "../../lib/dong-io"; 8 + import { download } from "../../lib/download.ts"; 9 + import { readDong } from "../../lib/dong-io.ts"; 10 10 import { Mime } from "mime"; 11 11 import standardTypes from "mime/types/standard.js"; 12 12 import otherTypes from "mime/types/other.js";
+11 -4
src/index.ts
··· 7 7 MessageFlags, 8 8 type Interaction, 9 9 } from "discord.js"; 10 - import { Glob } from "bun"; 10 + // import { Glob } from "bun"; 11 + import { glob } from "glob"; 12 + import "dotenv/config"; 13 + import path from "node:path"; 11 14 12 15 const token = process.env.token; 13 16 if (!token) throw new Error("Token required. Please fill in TOKEN in .env"); 14 17 console.log("Token Valid!"); 18 + 19 + const __dirname = import.meta.dirname; 15 20 16 21 // client typing 17 22 export type customClient = Client & { ··· 34 39 35 40 // setup commands 36 41 client.commands = new Collection(); 37 - const commandGlob = new Glob("**/*.ts"); 38 - for await (const file of commandGlob.scan("./src/commands")) { 39 - const command = await import("./commands/" + file); 42 + // const commandGlob = new Glob("**/*.ts"); 43 + for (const file of await glob("src/commands/**/*.ts", { 44 + ignore: "node_modules", 45 + })) { 46 + const command = await import("file:///" + path.join(__dirname, "..", file)); 40 47 // check command contains all required properties 41 48 if ( 42 49 "data" in command &&