chore: updates (#195)

This commit is contained in:
Marcos Susaña 2024-05-28 09:19:35 -04:00 committed by GitHub
parent 366528ce2d
commit c409628a43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 275 additions and 268 deletions

View File

@ -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"
}
}
},

View File

@ -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": {

298
pnpm-lock.yaml generated
View File

@ -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: {}

View File

@ -438,7 +438,7 @@ export type RequestObject<
: {
body?: B;
files?: F;
});
});
export type RestArguments<
M extends ProxyRequestMethod,

View File

@ -126,7 +126,7 @@ export class GuildRelatedResource<T = any> {
? (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<T = any> {
? (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) {

View File

@ -32,7 +32,7 @@ export class Overwrites extends GuildRelatedResource {
id: rawOverwrite.id,
type: rawOverwrite.type,
guildId: rawOverwrite.guild_id,
}))
}))
: undefined,
);
}

View File

@ -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);
}
}

View File

@ -78,9 +78,7 @@ export class Client<Ready extends boolean = boolean> 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<Ready extends boolean = boolean> extends BaseClient {
break;
}
});
} else {
await this.gateway.spawnShards();
}
}
@ -186,8 +186,10 @@ export class Client<Ready extends boolean = boolean> 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);

View File

@ -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,
});

View File

@ -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();
}
}
}

View File

@ -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<ContextOptionsResolved> = {

View File

@ -359,8 +359,10 @@ export class WorkerClient<Ready extends boolean = boolean> 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({

View File

@ -57,7 +57,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends
ok: OKFunction<any>,
fail: StopFunction,
): void;
} & {
} & {
description: string;
description_localizations?: APIApplicationCommandBasicOption['description_localizations'];
name_localizations?: APIApplicationCommandBasicOption['name_localizations'];
@ -65,7 +65,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends
name?: FlatObjectKeys<DefaultLocale>;
description?: FlatObjectKeys<DefaultLocale>;
};
};
};
export type __TypeWrapper<T extends ApplicationCommandOptionType> = Wrap<T>;
@ -96,18 +96,18 @@ type ContextOptionsAux<T extends OptionsRecord> = {
[K in Exclude<keyof T, KeysWithoutRequired<T>>]: T[K]['value'] extends (...args: any) => any
? Parameters<Parameters<T[K]['value']>[1]>[0]
: T[K] extends SeyfertStringOption | SeyfertNumberOption
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'][number]['value']
: ReturnOptionsTypes[T[K]['type']]
: ReturnOptionsTypes[T[K]['type']];
: ReturnOptionsTypes[T[K]['type']];
} & {
[K in KeysWithoutRequired<T>]?: T[K]['value'] extends (...args: any) => any
? Parameters<Parameters<T[K]['value']>[1]>[0]
: T[K] extends SeyfertStringOption | SeyfertNumberOption
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'][number]['value']
: ReturnOptionsTypes[T[K]['type']]
: ReturnOptionsTypes[T[K]['type']];
: ReturnOptionsTypes[T[K]['type']];
};
export type ContextOptions<T extends OptionsRecord> = ContextOptionsAux<T>;
@ -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,

View File

@ -36,7 +36,7 @@ export type CommandMetadata<T extends readonly (keyof RegisteredMiddlewares)[]>
? {}
: {
[key in first]: MetadataMiddleware<RegisteredMiddlewares[first]>;
}) &
}) &
(rest extends readonly (keyof RegisteredMiddlewares)[] ? CommandMetadata<rest> : {})
: {}
: {};

View File

@ -130,7 +130,7 @@ export function Options(options: (new () => SubCommand)[] | OptionsRecord) {
name,
...option,
} as CommandOption;
});
});
};
}

View File

@ -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));
}
}

View File

@ -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];

View File

@ -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 });
}

View File

@ -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));
}
}

View File

@ -7,8 +7,8 @@ export type ToClass<T, This> = new (
? ReturnType<T[K]> extends Promise<T>
? (...args: Parameters<T[K]>) => Promise<This>
: ReturnType<T[K]> extends T
? (...args: Parameters<T[K]>) => This
: T[K]
? (...args: Parameters<T[K]>) => This
: T[K]
: T[K];
};
@ -20,8 +20,8 @@ export type DeepPartial<T> = {
[K in keyof T]?: T[K] extends Record<any, any>
? DeepPartial<T[K]>
: T[K] extends (infer I)[]
? DeepPartial<I>[]
: T[K];
? DeepPartial<I>[]
: T[K];
};
export type OmitInsert<T, K extends keyof T, I> = I extends [] ? Omit<T, K> & I[number] : Omit<T, K> & I;
@ -50,10 +50,10 @@ export type WithID<More> = { id: string } & More;
export type Tail<A> = 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> = T[keyof T];
@ -74,8 +74,8 @@ export type AuxIsStrictlyUndefined<T> = T extends undefined | null | never | voi
export type IsStrictlyUndefined<T> = AuxIsStrictlyUndefined<T> extends true
? true
: AuxIsStrictlyUndefined<T> extends false
? false
: false;
? false
: false;
export type If<T extends boolean, A, B = null> = T extends true ? A : B extends null ? A | null : B;
@ -103,10 +103,10 @@ export type ObjectToLower<T> = Identify<{
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? Identify<ObjectToLower<T[K][0]>[]>
: T[K] extends object
? Identify<ObjectToLower<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true
? undefined
: ObjectToLowerUndefined<T[K]>;
? Identify<ObjectToLower<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true
? undefined
: ObjectToLowerUndefined<T[K]>;
}>;
export type ObjectToLowerUndefined<T> = T extends unknown[]
@ -115,18 +115,18 @@ export type ObjectToLowerUndefined<T> = T extends unknown[]
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? ObjectToLower<T[K][0]>[]
: T[K] extends object
? ObjectToLower<T[K]>
: T[K];
}>;
? ObjectToLower<T[K]>
: T[K];
}>;
export type ObjectToSnake<T> = Identify<{
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? Identify<ObjectToSnake<T[K][0]>[]>
: T[K] extends object
? Identify<ObjectToSnake<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true
? undefined
: ObjectToSnakeUndefined<T[K]>;
? Identify<ObjectToSnake<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true
? undefined
: ObjectToSnakeUndefined<T[K]>;
}>;
export type ObjectToSnakeUndefined<T> = T extends unknown[]
@ -135,9 +135,9 @@ export type ObjectToSnakeUndefined<T> = T extends unknown[]
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? ObjectToSnake<T[K][0]>[]
: T[K] extends object
? ObjectToSnake<T[K]>
: T[K];
}>;
? ObjectToSnake<T[K]>
: T[K];
}>;
export type UnionToTuple<U, A extends any[] = []> = (U extends void ? void : (arg: () => U) => never) extends (
arg: infer I,
@ -164,10 +164,14 @@ type OptionalizeAux<T extends object> = Identify<
* it is recursive
*/
export type Optionalize<T> = T extends object
? T extends Array<unknown>
? // biome-ignore lint/style/useShorthandArrayType: typescript things
// biome-ignore lint/style/useConsistentArrayType: <explanation>
T extends Array<unknown>
? number extends T['length']
? T[number] extends object
? Array<OptionalizeAux<T[number]>>
? // biome-ignore lint/style/useShorthandArrayType: <explanation>
// biome-ignore lint/style/useConsistentArrayType: <explanation>
Array<OptionalizeAux<T[number]>>
: T
: Partial<T>
: OptionalizeAux<T>
@ -211,8 +215,8 @@ export type FlatObjectKeys<T extends Record<string, any>, Key = keyof T> = Key e
? T[Key] extends Record<string, unknown>
? `${Key}.${FlatObjectKeys<T[Key]>}`
: T[Key] extends string
? `${Key}`
: never
? `${Key}`
: never
: never;
export type Awaitable<V> = Promise<V> | V;

View File

@ -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 <ComponentCommand>\``,
);
} 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);
}
}

View File

@ -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);
};

View File

@ -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);
};

View File

@ -71,7 +71,7 @@ export const config = {
: data.intents?.reduce<number>(
(pr, acc) => pr | (typeof acc === 'number' ? acc : GatewayIntentBits[acc]),
0,
) ?? 0
) ?? 0
: 0,
} as InternalRuntimeConfig;
},

View File

@ -42,12 +42,12 @@ export type __InternalParseLocale<T extends Record<string, any>> = {
[K in keyof T]: T[K] extends (...args: any[]) => any
? (...args: Parameters<T[K]>) => { get(locale?: string): ReturnType<T[K]> }
: T[K] extends string
? { get(locale?: string): T[K] }
: T[K] extends unknown[]
? { get(locale?: string): T[K] }
: T[K] extends Record<string, any>
? __InternalParseLocale<T[K]> & { get(locale?: string): T[K] }
: never;
? { get(locale?: string): T[K] }
: T[K] extends unknown[]
? { get(locale?: string): T[K] }
: T[K] extends Record<string, any>
? __InternalParseLocale<T[K]> & { get(locale?: string): T[K] }
: never;
};
export type ParseLocales<T extends Record<string, any>> = T;

View File

@ -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<APITextInputComponent>)
: 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!,
),
)
)
: [];
}
}

View File

@ -110,7 +110,7 @@ export class BaseMessage extends DiscordBase {
m,
this.guildId!,
),
)
)
: data.mentions.map(u => new User(this.client, u));
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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);