From c409628a4380fcafbff1961560edf25d65cb7a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Susa=C3=B1a?= Date: Tue, 28 May 2024 09:19:35 -0400 Subject: [PATCH] chore: updates (#195) --- biome.json | 23 +- package.json | 12 +- pnpm-lock.yaml | 298 +++++++++---------- src/api/api.ts | 2 +- src/cache/resources/default/guild-related.ts | 4 +- src/cache/resources/overwrites.ts | 2 +- src/client/base.ts | 6 +- src/client/client.ts | 12 +- src/client/collectors.ts | 4 +- src/client/httpclient.ts | 12 +- src/client/onmessagecreate.ts | 6 +- src/client/workerclient.ts | 6 +- src/commands/applications/chat.ts | 17 +- src/commands/applications/shared.ts | 2 +- src/commands/decorators.ts | 2 +- src/commands/handler.ts | 2 +- src/commands/optionresolver.ts | 4 +- src/common/it/logger.ts | 8 +- src/common/it/utils.ts | 6 +- src/common/types/util.ts | 60 ++-- src/components/handler.ts | 16 +- src/events/hooks/integration.ts | 4 +- src/events/hooks/typing.ts | 2 +- src/index.ts | 2 +- src/langs/router.ts | 12 +- src/structures/Interaction.ts | 12 +- src/structures/Message.ts | 2 +- src/structures/channels.ts | 2 +- src/structures/extra/functions.ts | 2 +- src/websocket/discord/shard.ts | 1 + 30 files changed, 275 insertions(+), 268 deletions(-) diff --git a/biome.json b/biome.json index eb16de3..ed8ba69 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.6.0/schema.json", + "$schema": "https://biomejs.dev/schemas/1.7.3/schema.json", "linter": { "enabled": true, "rules": { @@ -12,14 +12,23 @@ "noEmptyInterface": "off", "noConfusingVoidType": "off", "noImplicitAnyLet": "off", - "noEmptyBlockStatements": "off" + "noEmptyBlockStatements": "off", + "useAwait": "off", + "noConsoleLog": "off" }, "style": { "noNonNullAssertion": "off", "noParameterAssign": "off", "useExportType": "error", "useImportType": "error", - "useNodejsImportProtocol": "error" + "useNodejsImportProtocol": "error", + "useNamingConvention": "off", + "noParameterProperties": "off", + "useFilenamingConvention": "off", + "noDefaultExport": "off", + "noNamespaceImport": "off", + "useSingleCaseStatement": "off", + "useBlockStatements": "off" }, "correctness": { "noUnusedVariables": "off" @@ -32,13 +41,17 @@ "noBannedTypes": "off", "noForEach": "off", "noUselessConstructor": "off", - "noThisInStatic": "off" + "noThisInStatic": "off", + "noExcessiveCognitiveComplexity": "off", + "noVoid": "off" }, "a11y": { "all": false }, "performance": { - "noDelete": "off" + "noDelete": "off", + "noBarrelFile": "off", + "noReExportAll": "off" } } }, diff --git a/package.json b/package.json index def53c5..0d52b27 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,10 @@ "license": "Apache-2.0", "dependencies": { "chokidar": "^3.6.0", - "discord-api-types": "^0.37.84", + "discord-api-types": "^0.37.86", "magic-bytes.js": "^1.10.0", "ts-mixer": "^6.0.4", - "ws": "^8.16.0" + "ws": "^8.17.0" }, "lint-staged": { "*.ts": [ @@ -33,13 +33,13 @@ ] }, "devDependencies": { - "@biomejs/biome": "1.6.0", - "@commitlint/cli": "^19.2.2", + "@biomejs/biome": "1.7.3", + "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", - "@types/node": "^20.12.7", + "@types/node": "^20.12.12", "@types/ws": "^8.5.10", "husky": "^9.0.11", - "lint-staged": "^15.2.2", + "lint-staged": "^15.2.5", "typescript": "^5.4.5" }, "optionalDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b24e05e..321d5c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^3.6.0 version: 3.6.0 discord-api-types: - specifier: ^0.37.84 - version: 0.37.84 + specifier: ^0.37.86 + version: 0.37.86 magic-bytes.js: specifier: ^1.10.0 version: 1.10.0 @@ -21,8 +21,8 @@ importers: specifier: ^6.0.4 version: 6.0.4 ws: - specifier: ^8.16.0 - version: 8.16.0 + specifier: ^8.17.0 + version: 8.17.0 optionalDependencies: ioredis: specifier: ^5.4.1 @@ -35,17 +35,17 @@ importers: version: https://codeload.github.com/uNetworking/uWebSockets.js/tar.gz/f40213ec0a97d0d8721d9d32d92d6eb6ddcd22e7 devDependencies: '@biomejs/biome': - specifier: 1.6.0 - version: 1.6.0 + specifier: 1.7.3 + version: 1.7.3 '@commitlint/cli': - specifier: ^19.2.2 - version: 19.2.2(@types/node@20.12.7)(typescript@5.4.5) + specifier: ^19.3.0 + version: 19.3.0(@types/node@20.12.12)(typescript@5.4.5) '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 '@types/node': - specifier: ^20.12.7 - version: 20.12.7 + specifier: ^20.12.12 + version: 20.12.12 '@types/ws': specifier: ^8.5.10 version: 8.5.10 @@ -53,81 +53,81 @@ importers: specifier: ^9.0.11 version: 9.0.11 lint-staged: - specifier: ^15.2.2 - version: 15.2.2 + specifier: ^15.2.5 + version: 15.2.5 typescript: specifier: ^5.4.5 version: 5.4.5 packages: - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + '@babel/code-frame@7.24.6': + resolution: {integrity: sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.6': + resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + '@babel/highlight@7.24.6': + resolution: {integrity: sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==} engines: {node: '>=6.9.0'} - '@biomejs/biome@1.6.0': - resolution: {integrity: sha512-hvP8K1+CV8qc9eNdXtPwzScVxFSHB448CPKSqX6+8IW8G7bbhBVKGC80BowExJN5+vu+kzsj4xkWa780MAOlJw==} - engines: {node: '>=14.*'} + '@biomejs/biome@1.7.3': + resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==} + engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.6.0': - resolution: {integrity: sha512-K1Fjqye5pt+Ua+seC7V/2bFjfnqOaEOcQbBQSiiefB/VPNOb6lA5NFIfJ1PskTA3JrMXE1k7iqKQn56qrKFS6A==} - engines: {node: '>=14.*'} + '@biomejs/cli-darwin-arm64@1.7.3': + resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==} + engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.6.0': - resolution: {integrity: sha512-CjEALu6vN9RbcfhaBDoj481mesUIsUjxgQn+/kiMCea+Paypqslhez1I7OwRBJnkzz+Pa+PXdABd7S30eyy6+Q==} - engines: {node: '>=14.*'} + '@biomejs/cli-darwin-x64@1.7.3': + resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==} + engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.6.0': - resolution: {integrity: sha512-prww6AUuJ+IO/GziN3WjtGM/DNOVuPFxqWrK97wKTZygEDdA+o1qHUN2HeCkSyk084xnzbMSbls5xscAKAn43A==} - engines: {node: '>=14.*'} + '@biomejs/cli-linux-arm64-musl@1.7.3': + resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==} + engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.6.0': - resolution: {integrity: sha512-32LVrC7dAgQT39YZ0ieO/VzzpAflozs9mW5K0oKNef7S4ocCdk89E98eXApxOdei0JTf3vfseDCl1AUIp6MwJw==} - engines: {node: '>=14.*'} + '@biomejs/cli-linux-arm64@1.7.3': + resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==} + engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.6.0': - resolution: {integrity: sha512-NwitWeUKCy8G/rr+rgHPYirnrsOjJEJBWODdaRzweeFNcJjvO6de6AmNdSJzsewzLEaxjOWyoXU03MdzbGz/6Q==} - engines: {node: '>=14.*'} + '@biomejs/cli-linux-x64-musl@1.7.3': + resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==} + engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.6.0': - resolution: {integrity: sha512-b6mWu9Cu4w5B3K46wq9SlxKEZEEL6II/6HFNAuZ4YL8mOeQ0FTMU+wNMJFKkmkSE2zvim3xwW3PknmbLKbe3Mg==} - engines: {node: '>=14.*'} + '@biomejs/cli-linux-x64@1.7.3': + resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==} + engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.6.0': - resolution: {integrity: sha512-DlNOL6mG+76iZS1gL/UiuMme7jnt+auzo2+u0aUq6UXYsb75juchwlnVLy2UV5CQjVBRB8+RM+KVoXRZ8NlBjQ==} - engines: {node: '>=14.*'} + '@biomejs/cli-win32-arm64@1.7.3': + resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==} + engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.6.0': - resolution: {integrity: sha512-sXBcXIOGuG8/XcHqmnkhLIs0oy6Dp+TkH4Alr4WH/P8mNsp5GcStI/ZwbEiEoxA0P3Fi+oUppQ6srxaY2rSCHg==} - engines: {node: '>=14.*'} + '@biomejs/cli-win32-x64@1.7.3': + resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==} + engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] - '@commitlint/cli@19.2.2': - resolution: {integrity: sha512-P8cbOHfg2PQRzfICLSrzUVOCVMqjEZ8Hlth6mtJ4yOEjT47Q5PbIGymgX3rLVylNw+3IAT2Djn9IJ2wHbXFzBg==} + '@commitlint/cli@19.3.0': + resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==} engines: {node: '>=v18'} hasBin: true @@ -147,8 +147,8 @@ packages: resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} engines: {node: '>=v18'} - '@commitlint/format@19.0.3': - resolution: {integrity: sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q==} + '@commitlint/format@19.3.0': + resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==} engines: {node: '>=v18'} '@commitlint/is-ignored@19.2.2': @@ -201,8 +201,8 @@ packages: '@types/conventional-commits-parser@5.0.0': resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@types/node@20.12.12': + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} @@ -211,8 +211,8 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.14.0: + resolution: {integrity: sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==} ansi-escapes@6.2.1: resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} @@ -252,8 +252,8 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} callsites@3.1.0: @@ -304,9 +304,9 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -362,8 +362,8 @@ packages: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} - discord-api-types@0.37.84: - resolution: {integrity: sha512-NngmTBW8vermlbO0qNtaS7SHCWB/R96ICqflTwM/cV7zsxyQGd38E2bBlwaxLbXgb2YTF3+Yx6+qGs/3sXedCw==} + discord-api-types@0.37.86: + resolution: {integrity: sha512-ofpVLHshKdKl+XuZBbwOBSlgQFPJPzMuUiBpala3+ImPHBVo7ojZpzJUu2NJV/f0t1kqncechDugQpO5AjZnxg==} dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -400,8 +400,8 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@7.0.0: @@ -455,8 +455,8 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} @@ -533,20 +533,20 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@15.2.2: - resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + lint-staged@15.2.5: + resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==} engines: {node: '>=18.12.0'} hasBin: true - listr2@8.0.1: - resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + listr2@8.2.1: + resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} engines: {node: '>=18.0.0'} locate-path@7.2.0: @@ -590,10 +590,6 @@ packages: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} engines: {node: '>=18'} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - magic-bytes.js@1.10.0: resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} @@ -604,8 +600,8 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} mimic-fn@2.1.0: @@ -666,8 +662,8 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -717,8 +713,8 @@ packages: rfdc@1.3.1: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -829,8 +825,8 @@ packages: resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} engines: {node: '>=18'} - ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -845,12 +841,10 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + yaml@2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} engines: {node: '>= 14'} + hasBin: true yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -866,60 +860,60 @@ packages: snapshots: - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.6': dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 + '@babel/highlight': 7.24.6 + picocolors: 1.0.1 - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.24.6': {} - '@babel/highlight@7.24.2': + '@babel/highlight@7.24.6': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.6 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 - '@biomejs/biome@1.6.0': + '@biomejs/biome@1.7.3': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.6.0 - '@biomejs/cli-darwin-x64': 1.6.0 - '@biomejs/cli-linux-arm64': 1.6.0 - '@biomejs/cli-linux-arm64-musl': 1.6.0 - '@biomejs/cli-linux-x64': 1.6.0 - '@biomejs/cli-linux-x64-musl': 1.6.0 - '@biomejs/cli-win32-arm64': 1.6.0 - '@biomejs/cli-win32-x64': 1.6.0 + '@biomejs/cli-darwin-arm64': 1.7.3 + '@biomejs/cli-darwin-x64': 1.7.3 + '@biomejs/cli-linux-arm64': 1.7.3 + '@biomejs/cli-linux-arm64-musl': 1.7.3 + '@biomejs/cli-linux-x64': 1.7.3 + '@biomejs/cli-linux-x64-musl': 1.7.3 + '@biomejs/cli-win32-arm64': 1.7.3 + '@biomejs/cli-win32-x64': 1.7.3 - '@biomejs/cli-darwin-arm64@1.6.0': + '@biomejs/cli-darwin-arm64@1.7.3': optional: true - '@biomejs/cli-darwin-x64@1.6.0': + '@biomejs/cli-darwin-x64@1.7.3': optional: true - '@biomejs/cli-linux-arm64-musl@1.6.0': + '@biomejs/cli-linux-arm64-musl@1.7.3': optional: true - '@biomejs/cli-linux-arm64@1.6.0': + '@biomejs/cli-linux-arm64@1.7.3': optional: true - '@biomejs/cli-linux-x64-musl@1.6.0': + '@biomejs/cli-linux-x64-musl@1.7.3': optional: true - '@biomejs/cli-linux-x64@1.6.0': + '@biomejs/cli-linux-x64@1.7.3': optional: true - '@biomejs/cli-win32-arm64@1.6.0': + '@biomejs/cli-win32-arm64@1.7.3': optional: true - '@biomejs/cli-win32-x64@1.6.0': + '@biomejs/cli-win32-x64@1.7.3': optional: true - '@commitlint/cli@19.2.2(@types/node@20.12.7)(typescript@5.4.5)': + '@commitlint/cli@19.3.0(@types/node@20.12.12)(typescript@5.4.5)': dependencies: - '@commitlint/format': 19.0.3 + '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.5) + '@commitlint/load': 19.2.0(@types/node@20.12.12)(typescript@5.4.5) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -936,7 +930,7 @@ snapshots: '@commitlint/config-validator@19.0.3': dependencies: '@commitlint/types': 19.0.3 - ajv: 8.12.0 + ajv: 8.14.0 '@commitlint/ensure@19.0.3': dependencies: @@ -949,7 +943,7 @@ snapshots: '@commitlint/execute-rule@19.0.0': {} - '@commitlint/format@19.0.3': + '@commitlint/format@19.3.0': dependencies: '@commitlint/types': 19.0.3 chalk: 5.3.0 @@ -957,7 +951,7 @@ snapshots: '@commitlint/is-ignored@19.2.2': dependencies: '@commitlint/types': 19.0.3 - semver: 7.6.0 + semver: 7.6.2 '@commitlint/lint@19.2.2': dependencies: @@ -966,7 +960,7 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@20.12.7)(typescript@5.4.5)': + '@commitlint/load@19.2.0(@types/node@20.12.12)(typescript@5.4.5)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -974,7 +968,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.4.5) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -1003,7 +997,7 @@ snapshots: '@commitlint/config-validator': 19.0.3 '@commitlint/types': 19.0.3 global-directory: 4.0.1 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 @@ -1031,22 +1025,22 @@ snapshots: '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 - '@types/node@20.12.7': + '@types/node@20.12.12': dependencies: undici-types: 5.26.5 '@types/ws@8.5.10': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 - ajv@8.12.0: + ajv@8.14.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -1080,9 +1074,9 @@ snapshots: binary-extensions@2.3.0: {} - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 callsites@3.1.0: {} @@ -1097,7 +1091,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -1138,7 +1132,7 @@ snapshots: colorette@2.0.20: {} - commander@11.1.0: {} + commander@12.1.0: {} compare-func@2.0.0: dependencies: @@ -1160,9 +1154,9 @@ snapshots: meow: 12.1.1 split2: 4.2.0 - cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 typescript: 5.4.5 @@ -1191,7 +1185,7 @@ snapshots: denque@2.1.0: optional: true - discord-api-types@0.37.84: {} + discord-api-types@0.37.86: {} dot-prop@5.3.0: dependencies: @@ -1227,7 +1221,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -1271,7 +1265,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} ini@4.1.1: {} @@ -1336,26 +1330,26 @@ snapshots: jsonparse@1.3.1: {} - lilconfig@3.0.0: {} + lilconfig@3.1.1: {} lines-and-columns@1.2.4: {} - lint-staged@15.2.2: + lint-staged@15.2.5: dependencies: chalk: 5.3.0 - commander: 11.1.0 + commander: 12.1.0 debug: 4.3.4 execa: 8.0.1 - lilconfig: 3.0.0 - listr2: 8.0.1 - micromatch: 4.0.5 + lilconfig: 3.1.1 + listr2: 8.2.1 + micromatch: 4.0.7 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.4 + yaml: 2.4.2 transitivePeerDependencies: - supports-color - listr2@8.0.1: + listr2@8.2.1: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -1400,19 +1394,15 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - magic-bytes.js@1.10.0: {} meow@12.1.1: {} merge-stream@2.0.0: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mimic-fn@2.1.0: {} @@ -1451,7 +1441,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.6 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -1462,7 +1452,7 @@ snapshots: path-key@4.0.0: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -1497,9 +1487,7 @@ snapshots: rfdc@1.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} shebang-command@2.0.0: dependencies: @@ -1596,13 +1584,11 @@ snapshots: string-width: 7.1.0 strip-ansi: 7.1.0 - ws@8.16.0: {} + ws@8.17.0: {} y18n@5.0.8: {} - yallist@4.0.0: {} - - yaml@2.3.4: {} + yaml@2.4.2: {} yargs-parser@21.1.1: {} diff --git a/src/api/api.ts b/src/api/api.ts index ff120e6..5644890 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -438,7 +438,7 @@ export type RequestObject< : { body?: B; files?: F; - }); + }); export type RestArguments< M extends ProxyRequestMethod, diff --git a/src/cache/resources/default/guild-related.ts b/src/cache/resources/default/guild-related.ts index 593b94b..857c45b 100644 --- a/src/cache/resources/default/guild-related.ts +++ b/src/cache/resources/default/guild-related.ts @@ -126,7 +126,7 @@ export class GuildRelatedResource { ? (this.adapter.scan(this.hashId(guild), true) as string[]) : (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys => keys.map(x => `${this.namespace}.${x}`), - ) as string[]); + ) as string[]); } values(guild: string): ReturnCache<(T & { guild_id: string })[]> { @@ -134,7 +134,7 @@ export class GuildRelatedResource { ? (fakePromise(this.adapter.scan(this.hashId(guild))).then(x => x) as (T & { guild_id: string })[]) : (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys => this.adapter.get(keys.map(x => `${this.namespace}.${x}`)), - ) as (T & { guild_id: string })[]); + ) as (T & { guild_id: string })[]); } count(to: string) { diff --git a/src/cache/resources/overwrites.ts b/src/cache/resources/overwrites.ts index fc19aed..a040d54 100644 --- a/src/cache/resources/overwrites.ts +++ b/src/cache/resources/overwrites.ts @@ -32,7 +32,7 @@ export class Overwrites extends GuildRelatedResource { id: rawOverwrite.id, type: rawOverwrite.type, guildId: rawOverwrite.guild_id, - })) + })) : undefined, ); } diff --git a/src/client/base.ts b/src/client/base.ts index befd4fd..99e8c41 100644 --- a/src/client/base.ts +++ b/src/client/base.ts @@ -259,10 +259,10 @@ export class BaseClient { }); } - if (!this.cache) { - this.cache = new Cache(0, new MemoryAdapter(), [], this); - } else { + if (this.cache) { this.cache.__setClient(this); + } else { + this.cache = new Cache(0, new MemoryAdapter(), [], this); } } diff --git a/src/client/client.ts b/src/client/client.ts index 0cb7ecd..bb63c2b 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -78,9 +78,7 @@ export class Client extends BaseClient { parentPort = worker_threads.parentPort; } - if (!worker_threads?.workerData?.__USING_WATCHER__) { - await this.gateway.spawnShards(); - } else { + if (worker_threads?.workerData?.__USING_WATCHER__) { parentPort?.on('message', (data: WatcherPayload | WatcherSendToShard) => { switch (data.type) { case 'PAYLOAD': @@ -91,6 +89,8 @@ export class Client extends BaseClient { break; } }); + } else { + await this.gateway.spawnShards(); } } @@ -186,8 +186,10 @@ export class Client extends BaseClient { this.applicationId = packet.d.application.id; this.me = new ClientUser(this, packet.d.user, packet.d.application) as never; if ( - !this.__handleGuilds?.size || - !((this.gateway.options.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds) + !( + this.__handleGuilds?.size && + (this.gateway.options.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds + ) ) { if ([...this.gateway.values()].every(shard => shard.data.session_id)) { await this.events?.runEvent('BOT_READY', this, this.me, -1); diff --git a/src/client/collectors.ts b/src/client/collectors.ts index 8f151ba..5b188ed 100644 --- a/src/client/collectors.ts +++ b/src/client/collectors.ts @@ -51,13 +51,13 @@ export class Collectors { options.idle && options.idle > 0 ? setTimeout(() => { return this.delete(options.event, nonce, 'idle'); - }, options.idle) + }, options.idle) : undefined, timeout: options.timeout && options.timeout > 0 ? setTimeout(() => { return this.delete(options.event, nonce, 'timeout'); - }, options.timeout) + }, options.timeout) : undefined, nonce, }); diff --git a/src/client/httpclient.ts b/src/client/httpclient.ts index fc7ea9b..e423e43 100644 --- a/src/client/httpclient.ts +++ b/src/client/httpclient.ts @@ -206,7 +206,7 @@ export class HttpClient extends BaseClient { ? new Response(response, { headers }) : Response.json(response, { headers, - }), + }), ); }); }); @@ -215,11 +215,7 @@ export class HttpClient extends BaseClient { protected async onPacket(res: HttpResponse, req: HttpRequest) { const rawBody = await this.verifySignature(res, req); - if (!rawBody) { - this.debugger?.debug('Invalid request/No info, returning 418 status.'); - // I'm a teapot - res.writeStatus('418').end(); - } else { + if (rawBody) { switch (rawBody.type) { case InteractionType.Ping: this.debugger?.debug('Ping interaction received, responding.'); @@ -272,6 +268,10 @@ export class HttpClient extends BaseClient { }); break; } + } else { + this.debugger?.debug('Invalid request/No info, returning 418 status.'); + // I'm a teapot + res.writeStatus('418').end(); } } } diff --git a/src/client/onmessagecreate.ts b/src/client/onmessagecreate.ts index 13684d9..a14465e 100644 --- a/src/client/onmessagecreate.ts +++ b/src/client/onmessagecreate.ts @@ -69,7 +69,7 @@ function getCommandFromContent( return rawSubcommandName === opt.name || opt.aliases?.includes(rawSubcommandName); } return false; - }) as SubCommand) + }) as SubCommand) : parent; return { @@ -89,7 +89,7 @@ export async function onMessageCreate( const prefixes = (await self.options.commands.prefix(message)).sort((a, b) => b.length - a.length); const prefix = prefixes.find(x => message.content.startsWith(x)); - if (!prefix || !message.content.startsWith(prefix)) return; + if (!(prefix && message.content.startsWith(prefix))) return; const content = message.content.slice(prefix.length).trimStart(); const { fullCommandName, command, parent } = getCommandFromContent( @@ -103,7 +103,7 @@ export async function onMessageCreate( if (!command) return; if (!command.run) return self.logger.warn(`${fullCommandName} command does not have 'run' callback`); - if (!command.contexts?.includes(InteractionContextType.BotDM) && !message.guildId) return; + if (!(command.contexts?.includes(InteractionContextType.BotDM) || message.guildId)) return; if (command.guildId && !command.guildId?.includes(message.guildId!)) return; const resolved: MakeRequired = { diff --git a/src/client/workerclient.ts b/src/client/workerclient.ts index 0b929f1..7fbccf8 100644 --- a/src/client/workerclient.ts +++ b/src/client/workerclient.ts @@ -359,8 +359,10 @@ export class WorkerClient extends BaseClient { this.applicationId = packet.d.application.id; this.me = new ClientUser(this, packet.d.user, packet.d.application) as never; if ( - !this.__handleGuilds?.size || - !((workerData.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds) + !( + this.__handleGuilds?.size && + (workerData.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds + ) ) { if ([...this.shards.values()].every(shard => shard.data.session_id)) { this.postMessage({ diff --git a/src/commands/applications/chat.ts b/src/commands/applications/chat.ts index 67c4722..049f1cd 100644 --- a/src/commands/applications/chat.ts +++ b/src/commands/applications/chat.ts @@ -57,7 +57,7 @@ type Wrap = N extends ok: OKFunction, fail: StopFunction, ): void; - } & { + } & { description: string; description_localizations?: APIApplicationCommandBasicOption['description_localizations']; name_localizations?: APIApplicationCommandBasicOption['name_localizations']; @@ -65,7 +65,7 @@ type Wrap = N extends name?: FlatObjectKeys; description?: FlatObjectKeys; }; - }; + }; export type __TypeWrapper = Wrap; @@ -96,18 +96,18 @@ type ContextOptionsAux = { [K in Exclude>]: T[K]['value'] extends (...args: any) => any ? Parameters[1]>[0] : T[K] extends SeyfertStringOption | SeyfertNumberOption - ? T[K]['choices'] extends NonNullable + ? T[K]['choices'] extends NonNullable ? T[K]['choices'][number]['value'] : ReturnOptionsTypes[T[K]['type']] - : ReturnOptionsTypes[T[K]['type']]; + : ReturnOptionsTypes[T[K]['type']]; } & { [K in KeysWithoutRequired]?: T[K]['value'] extends (...args: any) => any ? Parameters[1]>[0] : T[K] extends SeyfertStringOption | SeyfertNumberOption - ? T[K]['choices'] extends NonNullable + ? T[K]['choices'] extends NonNullable ? T[K]['choices'][number]['value'] : ReturnOptionsTypes[T[K]['type']] - : ReturnOptionsTypes[T[K]['type']]; + : ReturnOptionsTypes[T[K]['type']]; }; export type ContextOptions = ContextOptionsAux; @@ -156,7 +156,7 @@ export class BaseCommand { (res, rej) => option.value?.({ context: ctx, value: resolver.getValue(i.name) } as never, res, rej) || res(resolver.getValue(i.name)), - ) + ) : undefined; if (value === undefined) { if (option.required) { @@ -210,6 +210,7 @@ export class BaseCommand { return; } // biome-ignore lint/style/noArguments: yes + // biome-ignore lint/correctness/noUndeclaredVariables: xd if (arguments.length) { // @ts-expect-error context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj; @@ -249,7 +250,7 @@ export class BaseCommand { const data = { name: this.name, type: this.type, - nsfw: this.nsfw || false, + nsfw: !!this.nsfw, description: this.description, name_localizations: this.name_localizations, description_localizations: this.description_localizations, diff --git a/src/commands/applications/shared.ts b/src/commands/applications/shared.ts index 8d21bab..4ebb1a8 100644 --- a/src/commands/applications/shared.ts +++ b/src/commands/applications/shared.ts @@ -36,7 +36,7 @@ export type CommandMetadata ? {} : { [key in first]: MetadataMiddleware; - }) & + }) & (rest extends readonly (keyof RegisteredMiddlewares)[] ? CommandMetadata : {}) : {} : {}; diff --git a/src/commands/decorators.ts b/src/commands/decorators.ts index 69bd269..c56fa92 100644 --- a/src/commands/decorators.ts +++ b/src/commands/decorators.ts @@ -130,7 +130,7 @@ export function Options(options: (new () => SubCommand)[] | OptionsRecord) { name, ...option, } as CommandOption; - }); + }); }; } diff --git a/src/commands/handler.ts b/src/commands/handler.ts index 2b28108..9b7bee9 100644 --- a/src/commands/handler.ts +++ b/src/commands/handler.ts @@ -66,7 +66,7 @@ export class CommandHandler extends BaseHandler { if (option.channel_types?.length !== (cached as APIApplicationCommandChannelOption).channel_types?.length) return true; if ('channel_types' in option && 'channel_types' in cached) { - if (!option.channel_types || !cached.channel_types) return true; + if (!(option.channel_types && cached.channel_types)) return true; return option.channel_types.some(ct => !cached.channel_types!.includes(ct)); } } diff --git a/src/commands/optionresolver.ts b/src/commands/optionresolver.ts index b2fcc00..381e975 100644 --- a/src/commands/optionresolver.ts +++ b/src/commands/optionresolver.ts @@ -171,8 +171,8 @@ export class OptionResolver { member instanceof GuildMember || member instanceof InteractionGuildMember ? member : 'permissions' in member - ? new InteractionGuildMember(this.client, member, user!, this.guildId!) - : new GuildMember(this.client, member, user!, this.guildId!); + ? new InteractionGuildMember(this.client, member, user!, this.guildId!) + : new GuildMember(this.client, member, user!, this.guildId!); } const channel = resolved.channels?.[value]; diff --git a/src/common/it/logger.ts b/src/common/it/logger.ts index 0f4385d..83584a2 100644 --- a/src/common/it/logger.ts +++ b/src/common/it/logger.ts @@ -128,7 +128,9 @@ export class Logger { let log; - if (!Logger.__callback) { + if (Logger.__callback) { + log = Logger.__callback(this, level, args); + } else { const color = Logger.colorFunctions.get(level) ?? Logger.noColor; const memoryData = process.memoryUsage?.(); const date = new Date(); @@ -139,8 +141,6 @@ export class Logger { this.name ? `${this.name} >` : '>', ...args, ]; - } else { - log = Logger.__callback(this, level, args); } if (!log) return; this.__write(log); @@ -189,7 +189,7 @@ export class Logger { private __write(log: unknown[]) { if (this.saveOnFile || Logger.saveOnFile === 'all' || Logger.saveOnFile?.includes(this.name)) { - if (!Logger.createdDir && !existsSync(join(process.cwd(), Logger.dirname))) { + if (!(Logger.createdDir || existsSync(join(process.cwd(), Logger.dirname)))) { Logger.createdDir = true; mkdirSync(join(process.cwd(), Logger.dirname), { recursive: true }); } diff --git a/src/common/it/utils.ts b/src/common/it/utils.ts index a13cbb6..257d915 100644 --- a/src/common/it/utils.ts +++ b/src/common/it/utils.ts @@ -117,10 +117,8 @@ export class BaseHandler { for (const i of await promises.readdir(dir, { withFileTypes: true })) { if (i.isDirectory()) { files.push(...(await this.getFiles(join(dir, i.name)))); - } else { - if (this.filter(join(dir, i.name))) { - files.push(join(dir, i.name)); - } + } else if (this.filter(join(dir, i.name))) { + files.push(join(dir, i.name)); } } diff --git a/src/common/types/util.ts b/src/common/types/util.ts index 7f9829a..e39fa36 100644 --- a/src/common/types/util.ts +++ b/src/common/types/util.ts @@ -7,8 +7,8 @@ export type ToClass = new ( ? ReturnType extends Promise ? (...args: Parameters) => Promise : ReturnType extends T - ? (...args: Parameters) => This - : T[K] + ? (...args: Parameters) => This + : T[K] : T[K]; }; @@ -20,8 +20,8 @@ export type DeepPartial = { [K in keyof T]?: T[K] extends Record ? DeepPartial : T[K] extends (infer I)[] - ? DeepPartial[] - : T[K]; + ? DeepPartial[] + : T[K]; }; export type OmitInsert = I extends [] ? Omit & I[number] : Omit & I; @@ -50,10 +50,10 @@ export type WithID = { id: string } & More; export type Tail = A extends [unknown, ...infer rest] ? rest : A extends [unknown] - ? [] - : A extends (infer first)[] - ? first[] - : never; + ? [] + : A extends (infer first)[] + ? first[] + : never; export type ValueOf = T[keyof T]; @@ -74,8 +74,8 @@ export type AuxIsStrictlyUndefined = T extends undefined | null | never | voi export type IsStrictlyUndefined = AuxIsStrictlyUndefined extends true ? true : AuxIsStrictlyUndefined extends false - ? false - : false; + ? false + : false; export type If = T extends true ? A : B extends null ? A | null : B; @@ -103,10 +103,10 @@ export type ObjectToLower = Identify<{ [K in keyof T as CamelCase>]: T[K] extends unknown[] ? Identify[]> : T[K] extends object - ? Identify> - : AuxIsStrictlyUndefined extends true - ? undefined - : ObjectToLowerUndefined; + ? Identify> + : AuxIsStrictlyUndefined extends true + ? undefined + : ObjectToLowerUndefined; }>; export type ObjectToLowerUndefined = T extends unknown[] @@ -115,18 +115,18 @@ export type ObjectToLowerUndefined = T extends unknown[] [K in keyof T as CamelCase>]: T[K] extends unknown[] ? ObjectToLower[] : T[K] extends object - ? ObjectToLower - : T[K]; - }>; + ? ObjectToLower + : T[K]; + }>; export type ObjectToSnake = Identify<{ [K in keyof T as SnakeCase>]: T[K] extends unknown[] ? Identify[]> : T[K] extends object - ? Identify> - : AuxIsStrictlyUndefined extends true - ? undefined - : ObjectToSnakeUndefined; + ? Identify> + : AuxIsStrictlyUndefined extends true + ? undefined + : ObjectToSnakeUndefined; }>; export type ObjectToSnakeUndefined = T extends unknown[] @@ -135,9 +135,9 @@ export type ObjectToSnakeUndefined = T extends unknown[] [K in keyof T as SnakeCase>]: T[K] extends unknown[] ? ObjectToSnake[] : T[K] extends object - ? ObjectToSnake - : T[K]; - }>; + ? ObjectToSnake + : T[K]; + }>; export type UnionToTuple = (U extends void ? void : (arg: () => U) => never) extends ( arg: infer I, @@ -164,10 +164,14 @@ type OptionalizeAux = Identify< * it is recursive */ export type Optionalize = T extends object - ? T extends Array + ? // biome-ignore lint/style/useShorthandArrayType: typescript things + // biome-ignore lint/style/useConsistentArrayType: + T extends Array ? number extends T['length'] ? T[number] extends object - ? Array> + ? // biome-ignore lint/style/useShorthandArrayType: + // biome-ignore lint/style/useConsistentArrayType: + Array> : T : Partial : OptionalizeAux @@ -211,8 +215,8 @@ export type FlatObjectKeys, Key = keyof T> = Key e ? T[Key] extends Record ? `${Key}.${FlatObjectKeys}` : T[Key] extends string - ? `${Key}` - : never + ? `${Key}` + : never : never; export type Awaitable = Promise | V; diff --git a/src/components/handler.ts b/src/components/handler.ts index 6fc6f98..f37340a 100644 --- a/src/components/handler.ts +++ b/src/components/handler.ts @@ -51,7 +51,7 @@ export class ComponentHandler extends BaseHandler { options.onStop?.('idle', () => { this.createComponentCollector(messageId, options); }); - }, options.idle) + }, options.idle) : undefined, timeout: options.timeout && options.timeout > 0 @@ -60,7 +60,7 @@ export class ComponentHandler extends BaseHandler { options.onStop?.('timeout', () => { this.createComponentCollector(messageId, options); }); - }, options.timeout) + }, options.timeout) : undefined, __run: (customId, callback) => { if (this.values.has(messageId)) { @@ -156,23 +156,23 @@ export class ComponentHandler extends BaseHandler { return { file: x, path: i.__filePath ?? '*' }; }) ?? (await this.loadFilesK<{ new (): ModalCommand | ComponentCommand }>(await this.getFiles(componentsDir))); - for (let i = 0; i < paths.length; i++) { + for (const value of paths) { let component; try { - component = this.callback(paths[i].file); + component = this.callback(value.file); if (!component) continue; } catch (e) { if (e instanceof Error && e.message.includes('is not a constructor')) { this.logger.warn( - `${paths[i].path + `${value.path .split(process.cwd()) .slice(1) .join(process.cwd())} doesn't export the class by \`export default \``, ); - } else this.logger.warn(e, paths[i]); + } else this.logger.warn(e, value); continue; } - if (!(component instanceof ModalCommand) && !(component instanceof ComponentCommand)) continue; + if (!(component instanceof ModalCommand || component instanceof ComponentCommand)) continue; if (component instanceof ModalCommand) { component.onInternalError ??= this.client.options?.modals?.defaults?.onInternalError; component.onMiddlewaresError ??= this.client.options?.modals?.defaults?.onMiddlewaresError; @@ -184,7 +184,7 @@ export class ComponentHandler extends BaseHandler { component.onRunError ??= this.client.options?.components?.defaults?.onRunError; component.onAfterRun ??= this.client.options?.components?.defaults?.onAfterRun; } - component.__filePath = paths[i].path; + component.__filePath = value.path; this.commands.push(component); } } diff --git a/src/events/hooks/integration.ts b/src/events/hooks/integration.ts index 206f685..bab4019 100644 --- a/src/events/hooks/integration.ts +++ b/src/events/hooks/integration.ts @@ -12,7 +12,7 @@ export const INTEGRATION_CREATE = (self: UsingClient, data: GatewayIntegrationCr ? { ...toCamelCase(data), user: new User(self, data.user!), - } + } : toCamelCase(data); }; @@ -21,7 +21,7 @@ export const INTEGRATION_UPDATE = (self: UsingClient, data: GatewayIntegrationUp ? { ...toCamelCase(data), user: new User(self, data.user!), - } + } : toCamelCase(data); }; diff --git a/src/events/hooks/typing.ts b/src/events/hooks/typing.ts index effa657..89e86a2 100644 --- a/src/events/hooks/typing.ts +++ b/src/events/hooks/typing.ts @@ -8,6 +8,6 @@ export const TYPING_START = (self: UsingClient, data: GatewayTypingStartDispatch ? { ...toCamelCase(data), member: new GuildMember(self, data.member, data.member.user!, data.guild_id!), - } + } : toCamelCase(data); }; diff --git a/src/index.ts b/src/index.ts index d0d479d..15f4a8b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -71,7 +71,7 @@ export const config = { : data.intents?.reduce( (pr, acc) => pr | (typeof acc === 'number' ? acc : GatewayIntentBits[acc]), 0, - ) ?? 0 + ) ?? 0 : 0, } as InternalRuntimeConfig; }, diff --git a/src/langs/router.ts b/src/langs/router.ts index 9f226d0..8bed172 100644 --- a/src/langs/router.ts +++ b/src/langs/router.ts @@ -42,12 +42,12 @@ export type __InternalParseLocale> = { [K in keyof T]: T[K] extends (...args: any[]) => any ? (...args: Parameters) => { get(locale?: string): ReturnType } : T[K] extends string - ? { get(locale?: string): T[K] } - : T[K] extends unknown[] - ? { get(locale?: string): T[K] } - : T[K] extends Record - ? __InternalParseLocale & { get(locale?: string): T[K] } - : never; + ? { get(locale?: string): T[K] } + : T[K] extends unknown[] + ? { get(locale?: string): T[K] } + : T[K] extends Record + ? __InternalParseLocale & { get(locale?: string): T[K] } + : never; }; export type ParseLocales> = T; diff --git a/src/structures/Interaction.ts b/src/structures/Interaction.ts index 1e18b4e..f1f952f 100644 --- a/src/structures/Interaction.ts +++ b/src/structures/Interaction.ts @@ -144,7 +144,7 @@ export class BaseInteraction< : (files?.map((x, id) => ({ id, filename: x.name, - })) as RESTAPIAttachment[]), + })) as RESTAPIAttachment[]), poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined, }, }; @@ -162,9 +162,9 @@ export class BaseInteraction< x instanceof ActionRow ? (x.toJSON() as unknown as APIActionRowComponent) : x, - ) + ) : [], - }, + }, }; default: return body; @@ -190,7 +190,7 @@ export class BaseInteraction< : (files?.map((x, id) => ({ id, filename: x.name, - })) as RESTAPIAttachment[]), + })) as RESTAPIAttachment[]), ...body, components: body.components?.map(x => (x instanceof ActionRow ? x.toJSON() : x)), embeds: body?.embeds?.map(x => (x instanceof Embed ? x.toJSON() : x)), @@ -558,7 +558,7 @@ export class MentionableSelectMenuInteraction extends SelectMenuInteraction { this.users!.find(u => u.id === x)!, this.guildId!, ), - ) + ) : []; this.users = resolved.users ? this.values.map(x => new User(this.client, resolved.users![x])) : []; } @@ -597,7 +597,7 @@ export class UserSelectMenuInteraction extends SelectMenuInteraction { this.users!.find(u => u.id === x)!, this.guildId!, ), - ) + ) : []; } } diff --git a/src/structures/Message.ts b/src/structures/Message.ts index 5508e69..601ff13 100644 --- a/src/structures/Message.ts +++ b/src/structures/Message.ts @@ -110,7 +110,7 @@ export class BaseMessage extends DiscordBase { m, this.guildId!, ), - ) + ) : data.mentions.map(u => new User(this.client, u)); } diff --git a/src/structures/channels.ts b/src/structures/channels.ts index 3af5a9c..60ce415 100644 --- a/src/structures/channels.ts +++ b/src/structures/channels.ts @@ -269,7 +269,7 @@ export class MessagesMethods extends DiscordBase { : (files?.map((x, id) => ({ id, filename: x.name, - })) as RESTAPIAttachment[]), + })) as RESTAPIAttachment[]), poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined, } as T; } diff --git a/src/structures/extra/functions.ts b/src/structures/extra/functions.ts index 44c8b9d..b03175b 100644 --- a/src/structures/extra/functions.ts +++ b/src/structures/extra/functions.ts @@ -27,7 +27,7 @@ export function resolvePartialEmoji(emoji: EmojiResolvable): APIPartialEmoji | u if (emoji.includes('%')) { emoji = encodeURIComponent(emoji); } - if (!emoji.includes(':') && !emoji.match(/\d{17,20}/g)) { + if (!(emoji.includes(':') || emoji.match(/\d{17,20}/g))) { return { name: emoji, id: null }; } return; diff --git a/src/websocket/discord/shard.ts b/src/websocket/discord/shard.ts index 4bebddb..9d549b2 100644 --- a/src/websocket/discord/shard.ts +++ b/src/websocket/discord/shard.ts @@ -84,6 +84,7 @@ export class Shard { this.debugger?.debug(`[Shard #${this.id}] Connecting to ${this.currentGatewayURL}`); // @ts-expect-error @types/bun cause erros in compile + // biome-ignore lint/correctness/noUndeclaredVariables: /\ bun lol this.websocket = new BaseSocket(typeof Bun === 'undefined' ? 'ws' : 'bun', this.currentGatewayURL); this.websocket!.onmessage = (event: WS.MessageEvent) => this.handleMessage(event);