diff --git a/README.md b/README.md index 73a66c7..bd684f5 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ > Installer les dépendances du bot ```bash -npm install --legacy-peer-deps +npm install ``` > Lancer le bot diff --git a/package-lock.json b/package-lock.json index 414c8b0..133a4e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,19 +9,17 @@ "version": "0.0.1", "license": "GPL-3.0-only", "dependencies": { - "@discord-player/extractor": "^4.0.0", + "@discord-player/extractor": "^4.1.0", "@discordjs/opus": "^0.9.0", "@discordjs/rest": "^1.5.0", "@types/sqlite3": "^3.1.8", "@types/uuid": "^9.0.0", - "discord-api-types": "^0.37.32", - "discord-player": "^5.4.1-dev.0", + "discord-player": "^6.0.0", "discord.js": "^14.7.1", "ffmpeg-static": "^5.1.0", "genius-lyrics": "^4.4.3", "node-fetch": "^2.6.9", "play-dl": "^1.9.6", - "prism-media": "^1.3.4", "sqlite3": "^5.1.4", "typescript": "^4.9.5", "uuid": "^9.0.0" @@ -61,18 +59,17 @@ } }, "node_modules/@discord-player/equalizer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@discord-player/equalizer/-/equalizer-0.1.4.tgz", - "integrity": "sha512-y87Mwj+38v8sRGfC/jSRykiQhpMV7yUI8Rq+xvczG6u/wBX1bkY53H5RjUZx4of2MLMNnMd9CF+z65E56Ps8DA==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@discord-player/equalizer/-/equalizer-0.2.0.tgz", + "integrity": "sha512-4wJws2PhAaKGxLmFeBWUyxsOMVYLQUX6iwtilV0caXJAgV/lWTQHsdKCIdh7fv0ProFLumDkIS/v9Jwtq1BIJw==" }, "node_modules/@discord-player/extractor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@discord-player/extractor/-/extractor-4.0.0.tgz", - "integrity": "sha512-j5Q71j0DHKCgIirRaN8+Vmhlo4+Gb2+Zf18K7oA8nN03oJiUzepw/2f3RIcCf9QbuoD1xUUHlWqqzMBDn1aq1A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@discord-player/extractor/-/extractor-4.1.0.tgz", + "integrity": "sha512-33Mt5K/lpniLA8sMdwk5F4LYC7XmvMWgfjsxl06Z/fTnQIY6014JBwMY1YlKiUceMQ18nxVXohY/QQALAKvATg==", "dependencies": { "file-type": "^16.5.4", "genius-lyrics": "^4.4.2", - "node-fetch": "cjs", "node-html-parser": "^6.1.4", "reverbnation-scraper": "^2.0.0", "soundcloud-scraper": "^5.0.3", @@ -86,9 +83,9 @@ } }, "node_modules/@discord-player/utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@discord-player/utils/-/utils-0.1.0.tgz", - "integrity": "sha512-VqUvCqecQ6tCFqWszlrr7hQ7E+2BInFWM69dsK8YtDOyR6PrVHTHf1R4Io5C4PygeWJrjLnP0kqFgkVj+Hn2Rw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@discord-player/utils/-/utils-0.2.0.tgz", + "integrity": "sha512-12SQWg7tgQT9S2jaLwG53JuNF/d7tPynnty+fN8lMQOnEfh3CQJZGqMW521gVekxzraa+N+QV/azlwg8vMcuVA==", "dependencies": { "@discordjs/collection": "^1.1.0" } @@ -167,10 +164,15 @@ "node": ">=16.9.0" } }, + "node_modules/@discordjs/rest/node_modules/discord-api-types": { + "version": "0.37.35", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.35.tgz", + "integrity": "sha512-iyKZ/82k7FX3lcmHiAvvWu5TmyfVo78RtghBV/YsehK6CID83k5SI03DKKopBcln+TiEIYw5MGgq7SJXSpNzMg==" + }, "node_modules/@discordjs/rest/node_modules/file-type": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.2.0.tgz", - "integrity": "sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.2.1.tgz", + "integrity": "sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==", "dependencies": { "readable-web-to-node-stream": "^3.0.2", "strtok3": "^7.0.0", @@ -236,29 +238,24 @@ } }, "node_modules/@discordjs/voice": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.11.0.tgz", - "integrity": "sha512-6+9cj1dxzBJm7WJ9qyG2XZZQ8rcLl6x2caW0C0OxuTtMLAaEDntpb6lqMTFiBg/rDc4Rd59g1w0gJmib33CuHw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.14.0.tgz", + "integrity": "sha512-/LV8LSFuJ1c4OEW1ubPg3al2QNpUpwX8ZL+KL+LORmnUFVCtehSaEh+38uDfWg1O/TgiGI5vOLj4ZKql43drcw==", "dependencies": { "@types/ws": "^8.5.3", - "discord-api-types": "^0.36.2", + "discord-api-types": "^0.37.20", "prism-media": "^1.3.4", - "tslib": "^2.4.0", - "ws": "^8.8.1" + "tslib": "^2.4.1", + "ws": "^8.11.0" }, "engines": { "node": ">=16.9.0" } }, - "node_modules/@discordjs/voice/node_modules/discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", + "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -278,6 +275,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/js": { + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -490,9 +496,9 @@ "dev": true }, "node_modules/@types/eslint": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.0.tgz", - "integrity": "sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==", + "version": "8.21.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", + "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", "dev": true, "dependencies": { "@types/estree": "*", @@ -512,9 +518,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==" + "version": "18.14.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz", + "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==" }, "node_modules/@types/prettier": { "version": "2.7.2", @@ -549,9 +555,9 @@ "dev": true }, "node_modules/@types/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==" }, "node_modules/@types/ws": { "version": "8.5.4", @@ -562,14 +568,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz", - "integrity": "sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", + "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/type-utils": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/type-utils": "5.54.0", + "@typescript-eslint/utils": "5.54.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -596,14 +602,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", - "integrity": "sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", + "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", "debug": "^4.3.4" }, "engines": { @@ -623,13 +629,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", - "integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", + "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -640,13 +646,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz", - "integrity": "sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", + "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/typescript-estree": "5.54.0", + "@typescript-eslint/utils": "5.54.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -667,9 +673,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", - "integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", + "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -680,13 +686,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", - "integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", + "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -707,16 +713,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", - "integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", + "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -733,12 +739,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", - "integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", + "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", + "@typescript-eslint/types": "5.54.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1091,6 +1097,18 @@ "fsevents": "~2.3.2" } }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -1279,26 +1297,25 @@ } }, "node_modules/discord-api-types": { - "version": "0.37.33", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.33.tgz", - "integrity": "sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==" + "version": "0.37.20", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.20.tgz", + "integrity": "sha512-uAO+55E11rMkYR36/paE1vKN8c2bZa1mgrIaiQIBgIZRKZTDIGOZB+8I5eMRPFJcGxrg16riUu+0aTu2JQEPew==" }, "node_modules/discord-player": { - "version": "5.4.1-dev.0", - "resolved": "https://registry.npmjs.org/discord-player/-/discord-player-5.4.1-dev.0.tgz", - "integrity": "sha512-5bxVIpP9TRmBxts2sMrNaHxZDp+0jXq8tDh8NS6+OdfuAhXsmcqVu7Aq1ZefGB1iTseuqYltUhsWTVF7axKOrA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/discord-player/-/discord-player-6.0.0.tgz", + "integrity": "sha512-IN1BkILYFvyLkqEyaNAmLARy9aU74mdBrArjCdgHHYWGthMQfii/dRKrkdsNrpUYMcMJemQUdwjDSaaNHjqhMA==", "dependencies": { "@discord-player/equalizer": "*", - "@discord-player/extractor": "*", "@discord-player/utils": "*", - "@discordjs/voice": "^0.11.0", - "libsodium-wrappers": "^0.7.10", - "tiny-typed-emitter": "^2.1.0" + "@discordjs/voice": "latest", + "libsodium-wrappers": "^0.7.10" }, "funding": { "url": "https://github.com/Androz2091/discord-player?sponsor=1" }, "peerDependencies": { + "@discord-player/extractor": "*", "discord.js": "14.x", "youtube-sr": "4.x" } @@ -1464,12 +1481,13 @@ } }, "node_modules/eslint": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.4.1", + "@eslint/eslintrc": "^2.0.0", + "@eslint/js": "8.35.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -1483,7 +1501,7 @@ "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", "espree": "^9.4.0", - "esquery": "^1.4.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", @@ -1590,18 +1608,6 @@ "node": ">=4.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/espree": { "version": "9.4.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", @@ -1620,9 +1626,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1700,6 +1706,18 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -1895,15 +1913,15 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/globals": { @@ -2316,16 +2334,16 @@ } }, "node_modules/libsodium": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz", - "integrity": "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.11.tgz", + "integrity": "sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A==" }, "node_modules/libsodium-wrappers": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", - "integrity": "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==", + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz", + "integrity": "sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q==", "dependencies": { - "libsodium": "^0.7.0" + "libsodium": "^0.7.11" } }, "node_modules/locate-path": { @@ -2795,9 +2813,9 @@ } }, "node_modules/node-html-parser": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.4.tgz", - "integrity": "sha512-3muP9Uy/Pz7bQa9TNYVQzWJhNZMqyCx7xJle8kz2/y1UgzAUyXXShc1IcPaJy6u07CE3K5rQcRwlvHzmlySRjg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz", + "integrity": "sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==", "dependencies": { "css-select": "^5.1.0", "he": "1.2.0" @@ -3134,11 +3152,11 @@ "dev": true }, "node_modules/prism-media": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz", - "integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.5.tgz", + "integrity": "sha512-IQdl0Q01m4LrkN1EGIE9lphov5Hy7WWlH6ulf5QdGePLlPas9p2mhgddTEHrlaXYjjFToM1/rWuwF37VF4taaA==", "peerDependencies": { - "@discordjs/opus": "^0.8.0", + "@discordjs/opus": ">=0.8.0 <1.0.0", "ffmpeg-static": "^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0", "node-opus": "^0.3.3", "opusscript": "^0.0.8" @@ -3215,9 +3233,9 @@ ] }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", + "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3698,9 +3716,9 @@ } }, "node_modules/tar/node_modules/minipass": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz", - "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", "engines": { "node": ">=8" } @@ -3711,11 +3729,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/tiny-typed-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", - "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==" - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3941,9 +3954,9 @@ } }, "node_modules/undici": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.18.0.tgz", - "integrity": "sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz", + "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==", "dependencies": { "busboy": "^1.6.0" }, @@ -4095,9 +4108,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", - "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", + "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", "engines": { "node": ">=10.0.0" }, @@ -4153,6 +4166,20 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/youtube-sr/-/youtube-sr-4.3.4.tgz", "integrity": "sha512-olSYcR80XigutCrePEXBX3/RJJrWfonJQj7+/ggBiWU0CzTDLE1q8+lpWTWCG0JpzhzILp/IB/Bq/glGqqr1TQ==" + }, + "node_modules/ytdl-core": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.2.tgz", + "integrity": "sha512-D939t9b4ZzP3v0zDvehR2q+KgG97UTgrTKju3pOPGQcXtl4W6W5z0EpznzcJFu+OOpl7S7Ge8hv8zU65QnxYug==", + "peer": true, + "dependencies": { + "m3u8stream": "^0.8.6", + "miniget": "^4.2.2", + "sax": "^1.1.3" + }, + "engines": { + "node": ">=12" + } } }, "dependencies": { @@ -4177,18 +4204,17 @@ } }, "@discord-player/equalizer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@discord-player/equalizer/-/equalizer-0.1.4.tgz", - "integrity": "sha512-y87Mwj+38v8sRGfC/jSRykiQhpMV7yUI8Rq+xvczG6u/wBX1bkY53H5RjUZx4of2MLMNnMd9CF+z65E56Ps8DA==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@discord-player/equalizer/-/equalizer-0.2.0.tgz", + "integrity": "sha512-4wJws2PhAaKGxLmFeBWUyxsOMVYLQUX6iwtilV0caXJAgV/lWTQHsdKCIdh7fv0ProFLumDkIS/v9Jwtq1BIJw==" }, "@discord-player/extractor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@discord-player/extractor/-/extractor-4.0.0.tgz", - "integrity": "sha512-j5Q71j0DHKCgIirRaN8+Vmhlo4+Gb2+Zf18K7oA8nN03oJiUzepw/2f3RIcCf9QbuoD1xUUHlWqqzMBDn1aq1A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@discord-player/extractor/-/extractor-4.1.0.tgz", + "integrity": "sha512-33Mt5K/lpniLA8sMdwk5F4LYC7XmvMWgfjsxl06Z/fTnQIY6014JBwMY1YlKiUceMQ18nxVXohY/QQALAKvATg==", "requires": { "file-type": "^16.5.4", "genius-lyrics": "^4.4.2", - "node-fetch": "cjs", "node-html-parser": "^6.1.4", "reverbnation-scraper": "^2.0.0", "soundcloud-scraper": "^5.0.3", @@ -4197,9 +4223,9 @@ } }, "@discord-player/utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@discord-player/utils/-/utils-0.1.0.tgz", - "integrity": "sha512-VqUvCqecQ6tCFqWszlrr7hQ7E+2BInFWM69dsK8YtDOyR6PrVHTHf1R4Io5C4PygeWJrjLnP0kqFgkVj+Hn2Rw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@discord-player/utils/-/utils-0.2.0.tgz", + "integrity": "sha512-12SQWg7tgQT9S2jaLwG53JuNF/d7tPynnty+fN8lMQOnEfh3CQJZGqMW521gVekxzraa+N+QV/azlwg8vMcuVA==", "requires": { "@discordjs/collection": "^1.1.0" } @@ -4211,7 +4237,7 @@ "requires": { "@discordjs/util": "^0.1.0", "@sapphire/shapeshift": "^3.7.1", - "discord-api-types": "^0.37.20", + "discord-api-types": "0.37.20", "fast-deep-equal": "^3.1.3", "ts-mixer": "^6.0.2", "tslib": "^2.4.1" @@ -4256,16 +4282,20 @@ "@discordjs/util": "^0.1.0", "@sapphire/async-queue": "^1.5.0", "@sapphire/snowflake": "^3.2.2", - "discord-api-types": "^0.37.23", + "discord-api-types": "0.37.20", "file-type": "^18.0.0", "tslib": "^2.4.1", "undici": "^5.13.0" }, "dependencies": { + "discord-api-types": { + "version": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.35.tgz", + "integrity": "sha512-iyKZ/82k7FX3lcmHiAvvWu5TmyfVo78RtghBV/YsehK6CID83k5SI03DKKopBcln+TiEIYw5MGgq7SJXSpNzMg==" + }, "file-type": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.2.0.tgz", - "integrity": "sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.2.1.tgz", + "integrity": "sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==", "requires": { "readable-web-to-node-stream": "^3.0.2", "strtok3": "^7.0.0", @@ -4303,28 +4333,21 @@ "integrity": "sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==" }, "@discordjs/voice": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.11.0.tgz", - "integrity": "sha512-6+9cj1dxzBJm7WJ9qyG2XZZQ8rcLl6x2caW0C0OxuTtMLAaEDntpb6lqMTFiBg/rDc4Rd59g1w0gJmib33CuHw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.14.0.tgz", + "integrity": "sha512-/LV8LSFuJ1c4OEW1ubPg3al2QNpUpwX8ZL+KL+LORmnUFVCtehSaEh+38uDfWg1O/TgiGI5vOLj4ZKql43drcw==", "requires": { "@types/ws": "^8.5.3", - "discord-api-types": "^0.36.2", + "discord-api-types": "0.37.20", "prism-media": "^1.3.4", - "tslib": "^2.4.0", - "ws": "^8.8.1" - }, - "dependencies": { - "discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - } + "tslib": "^2.4.1", + "ws": "^8.11.0" } }, "@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", + "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -4338,6 +4361,12 @@ "strip-json-comments": "^3.1.1" } }, + "@eslint/js": { + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "dev": true + }, "@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -4506,9 +4535,9 @@ "dev": true }, "@types/eslint": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.0.tgz", - "integrity": "sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==", + "version": "8.21.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", + "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", "dev": true, "requires": { "@types/estree": "*", @@ -4528,9 +4557,9 @@ "dev": true }, "@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==" + "version": "18.14.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz", + "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==" }, "@types/prettier": { "version": "2.7.2", @@ -4565,9 +4594,9 @@ "dev": true }, "@types/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==" }, "@types/ws": { "version": "8.5.4", @@ -4578,14 +4607,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz", - "integrity": "sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", + "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/type-utils": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/type-utils": "5.54.0", + "@typescript-eslint/utils": "5.54.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -4596,53 +4625,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", - "integrity": "sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", + "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", - "integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", + "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0" } }, "@typescript-eslint/type-utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz", - "integrity": "sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", + "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/typescript-estree": "5.54.0", + "@typescript-eslint/utils": "5.54.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", - "integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", + "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", - "integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", + "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/visitor-keys": "5.54.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4651,28 +4680,28 @@ } }, "@typescript-eslint/utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", - "integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", + "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.54.0", + "@typescript-eslint/types": "5.54.0", + "@typescript-eslint/typescript-estree": "5.54.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", - "integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", + "version": "5.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", + "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", + "@typescript-eslint/types": "5.54.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -4691,7 +4720,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "8.2.0", @@ -4932,6 +4962,17 @@ "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, "chownr": { @@ -5072,21 +5113,19 @@ } }, "discord-api-types": { - "version": "0.37.33", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.33.tgz", - "integrity": "sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==" + "version": "0.37.20", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.20.tgz", + "integrity": "sha512-uAO+55E11rMkYR36/paE1vKN8c2bZa1mgrIaiQIBgIZRKZTDIGOZB+8I5eMRPFJcGxrg16riUu+0aTu2JQEPew==" }, "discord-player": { - "version": "5.4.1-dev.0", - "resolved": "https://registry.npmjs.org/discord-player/-/discord-player-5.4.1-dev.0.tgz", - "integrity": "sha512-5bxVIpP9TRmBxts2sMrNaHxZDp+0jXq8tDh8NS6+OdfuAhXsmcqVu7Aq1ZefGB1iTseuqYltUhsWTVF7axKOrA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/discord-player/-/discord-player-6.0.0.tgz", + "integrity": "sha512-IN1BkILYFvyLkqEyaNAmLARy9aU74mdBrArjCdgHHYWGthMQfii/dRKrkdsNrpUYMcMJemQUdwjDSaaNHjqhMA==", "requires": { "@discord-player/equalizer": "*", - "@discord-player/extractor": "*", "@discord-player/utils": "*", - "@discordjs/voice": "^0.11.0", - "libsodium-wrappers": "^0.7.10", - "tiny-typed-emitter": "^2.1.0" + "@discordjs/voice": "latest", + "libsodium-wrappers": "^0.7.10" } }, "discord.js": { @@ -5100,7 +5139,7 @@ "@discordjs/util": "^0.1.0", "@sapphire/snowflake": "^3.2.2", "@types/ws": "^8.5.3", - "discord-api-types": "^0.37.20", + "discord-api-types": "0.37.20", "fast-deep-equal": "^3.1.3", "lodash.snakecase": "^4.1.1", "tslib": "^2.4.1", @@ -5208,12 +5247,13 @@ "dev": true }, "eslint": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.4.1", + "@eslint/eslintrc": "^2.0.0", + "@eslint/js": "8.35.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -5227,7 +5267,7 @@ "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", "espree": "^9.4.0", - "esquery": "^1.4.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", @@ -5269,15 +5309,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } } } }, @@ -5326,9 +5357,9 @@ } }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -5387,6 +5418,17 @@ "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, "fast-json-stable-stringify": { @@ -5540,12 +5582,12 @@ } }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "globals": { @@ -5859,16 +5901,16 @@ } }, "libsodium": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz", - "integrity": "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==" + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.11.tgz", + "integrity": "sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A==" }, "libsodium-wrappers": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", - "integrity": "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==", + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz", + "integrity": "sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q==", "requires": { - "libsodium": "^0.7.0" + "libsodium": "^0.7.11" } }, "locate-path": { @@ -6222,9 +6264,9 @@ } }, "node-html-parser": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.4.tgz", - "integrity": "sha512-3muP9Uy/Pz7bQa9TNYVQzWJhNZMqyCx7xJle8kz2/y1UgzAUyXXShc1IcPaJy6u07CE3K5rQcRwlvHzmlySRjg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz", + "integrity": "sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==", "requires": { "css-select": "^5.1.0", "he": "1.2.0" @@ -6472,9 +6514,10 @@ } }, "prism-media": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz", - "integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.5.tgz", + "integrity": "sha512-IQdl0Q01m4LrkN1EGIE9lphov5Hy7WWlH6ulf5QdGePLlPas9p2mhgddTEHrlaXYjjFToM1/rWuwF37VF4taaA==", + "requires": {} }, "progress": { "version": "2.0.3", @@ -6510,9 +6553,9 @@ "dev": true }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", + "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6839,9 +6882,9 @@ }, "dependencies": { "minipass": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz", - "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==" } } }, @@ -6851,11 +6894,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "tiny-typed-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", - "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==" - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7008,9 +7046,9 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, "undici": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.18.0.tgz", - "integrity": "sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz", + "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==", "requires": { "busboy": "^1.6.0" } @@ -7134,9 +7172,10 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", - "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==" + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", + "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", + "requires": {} }, "xtend": { "version": "4.0.2", @@ -7165,6 +7204,17 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/youtube-sr/-/youtube-sr-4.3.4.tgz", "integrity": "sha512-olSYcR80XigutCrePEXBX3/RJJrWfonJQj7+/ggBiWU0CzTDLE1q8+lpWTWCG0JpzhzILp/IB/Bq/glGqqr1TQ==" + }, + "ytdl-core": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.2.tgz", + "integrity": "sha512-D939t9b4ZzP3v0zDvehR2q+KgG97UTgrTKju3pOPGQcXtl4W6W5z0EpznzcJFu+OOpl7S7Ge8hv8zU65QnxYug==", + "peer": true, + "requires": { + "m3u8stream": "^0.8.6", + "miniget": "^4.2.2", + "sax": "^1.1.3" + } } } } diff --git a/package.json b/package.json index 5c4f14a..a3c427a 100644 --- a/package.json +++ b/package.json @@ -16,23 +16,24 @@ "author": "La confrérie du Kassoulait", "license": "GPL-3.0-only", "dependencies": { - "@discord-player/extractor": "^4.0.0", + "@discord-player/extractor": "^4.1.0", "@discordjs/opus": "^0.9.0", "@discordjs/rest": "^1.5.0", "@types/sqlite3": "^3.1.8", "@types/uuid": "^9.0.0", - "discord-api-types": "^0.37.32", - "discord-player": "^5.4.1-dev.0", + "discord-player": "^6.0.0", "discord.js": "^14.7.1", "ffmpeg-static": "^5.1.0", "genius-lyrics": "^4.4.3", "node-fetch": "^2.6.9", "play-dl": "^1.9.6", - "prism-media": "^1.3.4", "sqlite3": "^5.1.4", "typescript": "^4.9.5", "uuid": "^9.0.0" }, + "overrides": { + "discord-api-types": "0.37.20" + }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", diff --git a/src/buttons/music/queueList-next.ts b/src/buttons/music/queueList-next.ts index 2b743db..6876680 100644 --- a/src/buttons/music/queueList-next.ts +++ b/src/buttons/music/queueList-next.ts @@ -1,3 +1,4 @@ +import { Player } from "discord-player"; import { ActionRowBuilder, ButtonBuilder, @@ -29,8 +30,11 @@ export default { page++; } + // Get player + const player = Player.singleton(client); + // Get queue - const queue = client.player.queues.get(interaction.guildId ?? ""); + const queue = player.queues.get(interaction.guildId ?? ""); const embed = new EmbedBuilder(); const rows = []; diff --git a/src/buttons/music/queueList-prec.ts b/src/buttons/music/queueList-prec.ts index 5ca54b8..1bfb691 100644 --- a/src/buttons/music/queueList-prec.ts +++ b/src/buttons/music/queueList-prec.ts @@ -1,3 +1,4 @@ +import { Player } from "discord-player"; import { ActionRowBuilder, ButtonBuilder, @@ -29,8 +30,11 @@ export default { page--; } + // Get player + const player = Player.singleton(client); + // Get queue - const queue = client.player.queues.get(interaction.guildId ?? ""); + const queue = player.queues.get(interaction.guildId ?? ""); const embed = new EmbedBuilder(); const rows = []; diff --git a/src/commands/music/lyrics.ts b/src/commands/music/lyrics.ts index aa98c2a..54f33a0 100644 --- a/src/commands/music/lyrics.ts +++ b/src/commands/music/lyrics.ts @@ -1,4 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; +import { Player } from "discord-player"; import { ChatInputCommandInteraction, Client, EmbedBuilder } from "discord.js"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; @@ -44,19 +45,20 @@ export default { let data = null; await interaction.deferReply(); + const player = Player.singleton(client); if (request) { try { - data = await client.player.lyrics.search(request); + data = await player.lyrics.search(request); } catch { return await interaction.followUp(`❌ | ${loc.get("c_lyrics2")} \`${request}\``); } } else { - const queue = client.player.queues.get(interaction.guildId ?? ""); + const queue = player.queues.get(interaction.guildId ?? ""); if (queue) { - const title = queue.current?.title; + const title = queue.history.currentTrack?.title; if (title) { try { - data = await client.player.lyrics.search(title + " " + queue.current.author); + data = await player.lyrics.search(title + " " + queue.history.currentTrack?.author); } catch { return await interaction.followUp(`❌ | ${loc.get("c_lyrics2")} \`${title}\``); } diff --git a/src/commands/music/pause.ts b/src/commands/music/pause.ts index e7733a7..421826e 100644 --- a/src/commands/music/pause.ts +++ b/src/commands/music/pause.ts @@ -1,4 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; +import { Player } from "discord-player"; import { ChatInputCommandInteraction, Client, EmbedBuilder } from "discord.js"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; @@ -22,17 +23,18 @@ export default { interaction: async (interaction: ChatInputCommandInteraction, client: Client) => { const loc = getLocale(client, interaction.locale); - const queue = client.player.queues.get(interaction.guildId ?? ""); + const player = Player.singleton(client); + const queue = player.queues.get(interaction.guildId ?? ""); if (queue) { const embed = new EmbedBuilder(); - if (queue.paused) { - queue.resume(); + if (queue.node.isPaused()) { + queue.node.resume(); embed.setDescription(loc.get("c_pause1")); return await interaction.reply({ embeds: [embed] }); } else { - queue.pause(); + queue.node.pause(); embed.setDescription(loc.get("c_pause2")); return await interaction.reply({ embeds: [embed] }); diff --git a/src/commands/music/play.ts b/src/commands/music/play.ts index 5026ed5..bcd49e9 100644 --- a/src/commands/music/play.ts +++ b/src/commands/music/play.ts @@ -9,6 +9,7 @@ import { import { Metadata } from "../../utils/metadata"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; +import { Player } from "discord-player"; export default { scope: () => [], @@ -68,17 +69,18 @@ export default { loc_default?.get(`c_${filename}_opt1_name`) as string ); + const player = Player.singleton(client); if (!query) { // Now playing - const queue = client.player.queues.get(interaction.guildId ?? ""); + const queue = player.queues.get(interaction.guildId ?? ""); if (queue) { - const track = queue.nowPlaying(); + const track = queue.history.currentTrack; if (track) { const embed = new EmbedBuilder() .setDescription( - `${queue.createProgressBar()}\n\n${loc.get("c_play8")} ${track.requestedBy}` + `${queue.node.createProgressBar()}\n\n${loc.get("c_play8")} ${track.requestedBy}` ) .setTitle(track.title + " • " + track.author) .setURL(track.url) @@ -93,7 +95,7 @@ export default { return await interaction.reply({ embeds: [embed] }); } - const queue = client.player.createQueue(interaction.guild as GuildResolvable, { + const queue = player.nodes.create(interaction.guild as GuildResolvable, { metadata: { channel: interaction.channel, } as Metadata, @@ -103,7 +105,7 @@ export default { try { if (!queue.connection) await queue.connect(member.voice.channel as VoiceBasedChannel); } catch { - queue.destroy(); + queue.delete(); return await interaction.reply({ content: `❌ | ${loc.get("c_play3")}`, ephemeral: true, @@ -111,7 +113,7 @@ export default { } await interaction.deferReply(); - const result = await client.player + const result = await player .search(query, { requestedBy: interaction.user, }) @@ -124,7 +126,7 @@ export default { let title; if (result.playlist) { - queue.addTracks(result.playlist.tracks); + queue.addTrack(result.playlist.tracks); title = result.playlist.title; } else { // TODO: Ask user which result to choose @@ -134,8 +136,8 @@ export default { title = track.title; } - if (!queue.playing) { - queue.play(); + if (!queue.node.isPlaying()) { + queue.node.play(); } return await interaction.followUp({ diff --git a/src/commands/music/queue.ts b/src/commands/music/queue.ts index 22db84e..926d336 100644 --- a/src/commands/music/queue.ts +++ b/src/commands/music/queue.ts @@ -1,4 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; +import { Player } from "discord-player"; import { ActionRowBuilder, ButtonBuilder, @@ -92,7 +93,8 @@ export default { const filename = getFilename(__filename); const loc = getLocale(client, interaction.locale); - const queue = client.player.queues.get(interaction.guildId ?? ""); + const player = Player.singleton(client); + const queue = player.queues.get(interaction.guildId ?? ""); const embed = new EmbedBuilder(); const rows = []; @@ -136,7 +138,7 @@ export default { // Shuffle Queue case loc_default?.get(`c_${filename}_sub2_name`)?.toLowerCase() ?? "": { - queue.shuffle(); + queue.tracks.shuffle(); embed.setDescription(loc.get("c_queue3")); break; @@ -148,7 +150,7 @@ export default { loc_default?.get(`c_${filename}_sub3_opt1_name`) as string ) as number; - const track = queue.remove(id - 1); + const track = queue.removeTrack(id - 1); if (track) { embed.setDescription( diff --git a/src/commands/music/repeat.ts b/src/commands/music/repeat.ts index b330d99..113d0b7 100644 --- a/src/commands/music/repeat.ts +++ b/src/commands/music/repeat.ts @@ -1,5 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; -import { QueueRepeatMode } from "discord-player"; +import { Player, QueueRepeatMode } from "discord-player"; import { ChatInputCommandInteraction, Client } from "discord.js"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; @@ -64,7 +64,8 @@ export default { const filename = getFilename(__filename); const loc = getLocale(client, interaction.locale); - const queue = client.player.queues.get(interaction.guildId ?? ""); + const player = Player.singleton(client); + const queue = player.queues.get(interaction.guildId ?? ""); if (queue) { const subcommand = interaction.options.getSubcommand(); @@ -91,7 +92,7 @@ export default { case loc_default?.get(`c_${filename}_sub2_name`)?.toLowerCase() ?? "": { queue.setRepeatMode(QueueRepeatMode.TRACK); return interaction.reply( - `${loc.get("c_repeat5")} ${queue.nowPlaying()?.title} ${loc.get("c_repeat6")}.` + `${loc.get("c_repeat5")} ${queue.history.currentTrack?.title} ${loc.get("c_repeat6")}.` ); } } diff --git a/src/commands/music/skip.ts b/src/commands/music/skip.ts index 261799b..1bd11d5 100644 --- a/src/commands/music/skip.ts +++ b/src/commands/music/skip.ts @@ -1,4 +1,5 @@ import { SlashCommandBuilder } from "@discordjs/builders"; +import { Player } from "discord-player"; import { ChatInputCommandInteraction, Client } from "discord.js"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; @@ -36,17 +37,18 @@ export default { const filename = getFilename(__filename); const loc = getLocale(client, interaction.locale); - const queue = client.player.queues.get(interaction.guildId ?? ""); + const player = Player.singleton(client); + const queue = player.queues.get(interaction.guildId ?? ""); const id = interaction.options.getNumber(loc_default?.get(`c_${filename}_opt1_name`) as string); if (queue) { let msg; if (id) { - queue.skipTo(id - 1); + queue.node.skipTo(id - 1); msg = loc.get("c_skip3") + " #" + id + "..."; } else { - queue.skip(); + queue.node.skip(); msg = loc.get("c_skip1") + "..."; } diff --git a/src/commands/music/stop.ts b/src/commands/music/stop.ts index cd96d1a..1dc6c95 100644 --- a/src/commands/music/stop.ts +++ b/src/commands/music/stop.ts @@ -3,6 +3,7 @@ import { ChatInputCommandInteraction, Client, GuildResolvable } from "discord.js import { Metadata } from "../../utils/metadata"; import { getLocale, getLocalizations } from "../../utils/locales"; import { getFilename } from "../../utils/misc"; +import { Player } from "discord-player"; export default { scope: () => [], @@ -24,17 +25,18 @@ export default { interaction: async (interaction: ChatInputCommandInteraction, client: Client) => { const loc = getLocale(client, interaction.locale); - const queue = client.player.createQueue(interaction.guild as GuildResolvable, { + const player = Player.singleton(client); + const queue = player.nodes.create(interaction.guild as GuildResolvable, { metadata: { channel: interaction.channel, } as Metadata, }); - if (!(queue.connection || queue.playing)) { + if (!(queue.connection || queue.node.isPlaying())) { return interaction.reply(`❌ | ${loc.get("c_stop1")}`); } - queue.destroy(); + queue.delete(); interaction.reply(loc.get("c_stop2")); }, diff --git a/src/events/loader.ts b/src/events/loader.ts index c35ebf3..d0d60ab 100644 --- a/src/events/loader.ts +++ b/src/events/loader.ts @@ -1,4 +1,4 @@ -import { PlayerEvents } from "discord-player"; +import { Player, PlayerEvents } from "discord-player"; import { Client } from "discord.js"; import { readdir } from "fs/promises"; @@ -29,14 +29,15 @@ export default async (client: Client) => { const event_type = event_type_ext.join("."); if (event_category == "player") { + const player = Player.singleton(client); if (once) { // eslint-disable-next-line - return client.player.once(event_type as keyof PlayerEvents, (...args: any[]) => { + return player.events.once(event_type as keyof PlayerEvents, (...args: any[]) => { execute(...args, client); }); } // eslint-disable-next-line - return client.player.on(event_type as keyof PlayerEvents, (...args: any[]) => { + return player.events.on(event_type as keyof PlayerEvents, (...args: any[]) => { execute(...args, client); }); } diff --git a/src/events/player/connectionError.ts b/src/events/player/connectionError.ts index d9a8dfe..892eee7 100644 --- a/src/events/player/connectionError.ts +++ b/src/events/player/connectionError.ts @@ -1,7 +1,7 @@ -import { Queue } from "discord-player"; +import { GuildQueue } from "discord-player"; import { Metadata } from "../../utils/metadata"; /** https://discord-player.js.org/docs/main/master/typedef/PlayerEvents */ -export default (_: Queue, error: Error) => { +export default (_: GuildQueue, error: Error) => { console.error(error); }; diff --git a/src/events/player/error.ts b/src/events/player/error.ts index d9a8dfe..892eee7 100644 --- a/src/events/player/error.ts +++ b/src/events/player/error.ts @@ -1,7 +1,7 @@ -import { Queue } from "discord-player"; +import { GuildQueue } from "discord-player"; import { Metadata } from "../../utils/metadata"; /** https://discord-player.js.org/docs/main/master/typedef/PlayerEvents */ -export default (_: Queue, error: Error) => { +export default (_: GuildQueue, error: Error) => { console.error(error); }; diff --git a/src/events/player/trackStart.ts b/src/events/player/trackStart.ts index 599b3d5..30d6b49 100644 --- a/src/events/player/trackStart.ts +++ b/src/events/player/trackStart.ts @@ -1,11 +1,11 @@ import { EmbedBuilder } from "@discordjs/builders"; -import { Queue, Track } from "discord-player"; +import { GuildQueue, Track } from "discord-player"; import { Client } from "discord.js"; import { Metadata } from "../../utils/metadata"; import { emojiPng } from "../../utils/misc"; /** https://discord-player.js.org/docs/main/master/typedef/PlayerEvents */ -export default (queue: Queue, track: Track, client: Client) => { +export default (queue: GuildQueue, track: Track, client: Client) => { const loc_default = client.locales.get(client.config.default_lang); const embed = new EmbedBuilder() diff --git a/src/modules/client.ts b/src/modules/client.ts index 350e51c..34ec00c 100644 --- a/src/modules/client.ts +++ b/src/modules/client.ts @@ -1,7 +1,6 @@ import { Collection } from "discord.js"; import { SlashCommandBuilder } from "@discordjs/builders"; import { Database } from "sqlite3"; -import { Player } from "discord-player"; export {}; @@ -83,8 +82,6 @@ declare module "discord.js" { } >; }; - /** Music player */ - player: Player; /** Store all the localizations */ locales: Map>; db: Database; diff --git a/src/utils/client.ts b/src/utils/client.ts index c480f31..8aa651b 100644 --- a/src/utils/client.ts +++ b/src/utils/client.ts @@ -38,13 +38,13 @@ export default async () => { list: new Collection(), }; - client.player = new Player(client, { + const player = Player.singleton(client, { ytdlOptions: { filter: "audioonly", }, }); - client.player.lyrics = lyricsExtractor(); + player.lyrics = lyricsExtractor(); console.log("Translations progression :"); client.locales = await loadLocales(client.config.default_lang); diff --git a/src/utils/music.ts b/src/utils/music.ts index 29e8037..6f9d349 100644 --- a/src/utils/music.ts +++ b/src/utils/music.ts @@ -1,20 +1,20 @@ import { EmbedBuilder } from "@discordjs/builders"; -import { Queue, QueueRepeatMode, Track } from "discord-player"; +import { GuildQueue, QueueRepeatMode, Track } from "discord-player"; import { Client } from "discord.js"; import { getLocale } from "./locales"; export const embedListQueue = ( client: Client, embed: EmbedBuilder, - queue: Queue, + queue: GuildQueue, page: number, local: string ) => { const loc = getLocale(client, local); - const tracks = queue.tracks.slice(); + const tracks = queue.tracks.toArray(); // Add the current song at the top of the list - tracks.unshift(queue.current as Track); + tracks.unshift(queue.history.currentTrack as Track); // Limit of discord is 25 const limit_fields = 25;