From a0aa3518d7ee26ce1adbac6a8295ad0c7f7345bf Mon Sep 17 00:00:00 2001 From: AnxietyisReal <96593068+AnxietyisReal@users.noreply.github.com> Date: Sun, 8 Oct 2023 08:01:16 +1100 Subject: [PATCH] Restructured some of the files --- .pnp.cjs | 761 +++--------------------------------- package.json | 19 +- src/client.ts | 25 +- src/commands/music.ts | 152 ------- src/commands/suggest.ts | 2 +- src/config.json | 4 +- src/funcs/MPModule.ts | 27 +- src/funcs/ResponseModule.ts | 2 +- src/funcs/YTModule.ts | 2 +- src/helpers/ConfigHelper.ts | 15 + src/helpers/Logger.ts | 4 +- src/helpers/MessageTool.ts | 6 - src/helpers/TSClient.ts | 6 +- src/index.ts | 16 - src/typings/interfaces.d.ts | 101 +++-- yarn.lock | 627 +++-------------------------- 16 files changed, 199 insertions(+), 1570 deletions(-) delete mode 100644 src/commands/music.ts create mode 100644 src/helpers/ConfigHelper.ts diff --git a/.pnp.cjs b/.pnp.cjs index b81a951..15a0f41 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -28,87 +28,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { [null, {\ "packageLocation": "./",\ "packageDependencies": [\ - ["@discord-player/extractor", "npm:4.4.4"],\ - ["@discordjs/opus", "npm:0.9.0"],\ ["@octokit/auth-token", "npm:4.0.0"],\ ["@octokit/rest", "npm:20.0.2"],\ ["@types/ms", "npm:0.7.32"],\ - ["@types/node", "npm:20.8.2"],\ + ["@types/node", "npm:20.8.3"],\ ["@types/node-cron", "npm:3.0.9"],\ ["ansi-colors", "npm:4.1.3"],\ ["canvas", "npm:2.11.2"],\ - ["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.4"],\ + ["dayjs", "npm:1.11.10"],\ ["discord.js", "npm:14.13.0"],\ - ["libsodium-wrappers", "npm:0.7.13"],\ - ["moment", "npm:2.29.4"],\ - ["mongoose", "npm:7.5.4"],\ + ["fast-xml-parser", "npm:4.3.2"],\ + ["mongoose", "npm:7.6.0"],\ ["ms", "npm:2.1.3"],\ ["node-cron", "npm:3.0.2"],\ - ["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\ ["redis", "npm:4.6.10"],\ - ["systeminformation", "npm:5.21.10"],\ - ["typescript", "patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441"],\ - ["xml-js", "npm:1.6.11"],\ - ["youtube-sr", "npm:4.3.4"],\ - ["ytdl-core", "npm:4.11.5"]\ + ["systeminformation", "npm:5.21.11"],\ + ["typescript", "patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441"]\ ],\ "linkType": "SOFT"\ }]\ ]],\ - ["@discord-player/equalizer", [\ - ["npm:0.2.3", {\ - "packageLocation": "./.yarn/cache/@discord-player-equalizer-npm-0.2.3-e5859f85ea-6f60c41b48.zip/node_modules/@discord-player/equalizer/",\ - "packageDependencies": [\ - ["@discord-player/equalizer", "npm:0.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@discord-player/extractor", [\ - ["npm:4.4.4", {\ - "packageLocation": "./.yarn/cache/@discord-player-extractor-npm-4.4.4-5a3f06e91c-1a12c73576.zip/node_modules/@discord-player/extractor/",\ - "packageDependencies": [\ - ["@discord-player/extractor", "npm:4.4.4"],\ - ["file-type", "npm:16.5.4"],\ - ["genius-lyrics", "npm:4.4.6"],\ - ["isomorphic-unfetch", "npm:4.0.2"],\ - ["node-html-parser", "npm:6.1.5"],\ - ["reverbnation-scraper", "npm:2.0.0"],\ - ["soundcloud.ts", "npm:0.5.2"],\ - ["spotify-url-info", "npm:3.2.6"],\ - ["youtube-sr", "npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@discord-player/ffmpeg", [\ - ["npm:0.1.0", {\ - "packageLocation": "./.yarn/cache/@discord-player-ffmpeg-npm-0.1.0-9f0772387f-95653c0f78.zip/node_modules/@discord-player/ffmpeg/",\ - "packageDependencies": [\ - ["@discord-player/ffmpeg", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@discord-player/opus", [\ - ["npm:0.1.2", {\ - "packageLocation": "./.yarn/cache/@discord-player-opus-npm-0.1.2-e4f925bdf7-41ceb8f64e.zip/node_modules/@discord-player/opus/",\ - "packageDependencies": [\ - ["@discord-player/opus", "npm:0.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@discord-player/utils", [\ - ["npm:0.2.2", {\ - "packageLocation": "./.yarn/cache/@discord-player-utils-npm-0.2.2-06a295dbb3-1e82767fa6.zip/node_modules/@discord-player/utils/",\ - "packageDependencies": [\ - ["@discord-player/utils", "npm:0.2.2"],\ - ["@discordjs/collection", "npm:1.5.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["@discordjs/builders", [\ ["npm:1.6.5", {\ "packageLocation": "./.yarn/cache/@discordjs-builders-npm-1.6.5-9d05c520ba-9c5c4d483a.zip/node_modules/@discordjs/builders/",\ @@ -126,13 +65,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@discordjs/collection", [\ - ["npm:1.5.2", {\ - "packageLocation": "./.yarn/cache/@discordjs-collection-npm-1.5.2-782e42c28d-bf51b951c7.zip/node_modules/@discordjs/collection/",\ - "packageDependencies": [\ - ["@discordjs/collection", "npm:1.5.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:1.5.3", {\ "packageLocation": "./.yarn/cache/@discordjs-collection-npm-1.5.3-ea9e0ca74b-fefed19bea.zip/node_modules/@discordjs/collection/",\ "packageDependencies": [\ @@ -151,35 +83,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["@discordjs/node-pre-gyp", [\ - ["npm:0.4.5", {\ - "packageLocation": "./.yarn/cache/@discordjs-node-pre-gyp-npm-0.4.5-8657d04c40-60ba7bfdb9.zip/node_modules/@discordjs/node-pre-gyp/",\ - "packageDependencies": [\ - ["@discordjs/node-pre-gyp", "npm:0.4.5"],\ - ["detect-libc", "npm:2.0.2"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["make-dir", "npm:3.1.0"],\ - ["node-fetch", "virtual:96190e77b0d1d9514198043e0d57ffc6ec9756bb40a6a375e74b503742f52d995fd945e4450439fc918585a43d04de7bc0829d40d03902827616828b235f2002#npm:2.6.12"],\ - ["nopt", "npm:5.0.0"],\ - ["npmlog", "npm:5.0.1"],\ - ["rimraf", "npm:3.0.2"],\ - ["semver", "npm:7.5.4"],\ - ["tar", "npm:6.1.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@discordjs/opus", [\ - ["npm:0.9.0", {\ - "packageLocation": "./.yarn/unplugged/@discordjs-opus-npm-0.9.0-9d320d2b10/node_modules/@discordjs/opus/",\ - "packageDependencies": [\ - ["@discordjs/opus", "npm:0.9.0"],\ - ["@discordjs/node-pre-gyp", "npm:0.4.5"],\ - ["node-addon-api", "npm:5.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["@discordjs/rest", [\ ["npm:2.0.1", {\ "packageLocation": "./.yarn/cache/@discordjs-rest-npm-2.0.1-0339cfec4f-36e3348929.zip/node_modules/@discordjs/rest/",\ @@ -257,7 +160,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["detect-libc", "npm:2.0.2"],\ ["https-proxy-agent", "npm:5.0.1"],\ ["make-dir", "npm:3.1.0"],\ - ["node-fetch", "virtual:96190e77b0d1d9514198043e0d57ffc6ec9756bb40a6a375e74b503742f52d995fd945e4450439fc918585a43d04de7bc0829d40d03902827616828b235f2002#npm:2.6.12"],\ + ["node-fetch", "virtual:5547f15a2bb3d361d141532d43f94523f31e9edfe533f8367b3e26e300194e2978be03f56c09e100afcfee4c02b7fbe13c6ffcf58c613b457a86da522a2979f2#npm:2.6.12"],\ ["nopt", "npm:5.0.0"],\ ["npmlog", "npm:5.0.1"],\ ["rimraf", "npm:3.0.2"],\ @@ -637,15 +540,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["@tokenizer/token", [\ - ["npm:0.3.0", {\ - "packageLocation": "./.yarn/cache/@tokenizer-token-npm-0.3.0-4441352cc5-1d575d02d2.zip/node_modules/@tokenizer/token/",\ - "packageDependencies": [\ - ["@tokenizer/token", "npm:0.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["@tootallnate/once", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip/node_modules/@tootallnate/once/",\ @@ -672,10 +566,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:20.8.2", {\ - "packageLocation": "./.yarn/cache/@types-node-npm-20.8.2-6691982ce3-3da73e25d8.zip/node_modules/@types/node/",\ + ["npm:20.8.3", {\ + "packageLocation": "./.yarn/cache/@types-node-npm-20.8.3-bab45f3f77-bfb88b341f.zip/node_modules/@types/node/",\ "packageDependencies": [\ - ["@types/node", "npm:20.8.2"]\ + ["@types/node", "npm:20.8.3"]\ ],\ "linkType": "HARD"\ }]\ @@ -859,15 +753,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["boolbase", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip/node_modules/boolbase/",\ - "packageDependencies": [\ - ["boolbase", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["brace-expansion", [\ ["npm:1.1.11", {\ "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/",\ @@ -894,6 +779,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["bson", "npm:5.4.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/bson-npm-5.5.0-994b2902b7-61afd240df.zip/node_modules/bson/",\ + "packageDependencies": [\ + ["bson", "npm:5.5.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["busboy", [\ @@ -1025,66 +917,36 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["css-select", [\ - ["npm:5.1.0", {\ - "packageLocation": "./.yarn/cache/css-select-npm-5.1.0-9365a79de5-2772c049b1.zip/node_modules/css-select/",\ - "packageDependencies": [\ - ["css-select", "npm:5.1.0"],\ - ["boolbase", "npm:1.0.0"],\ - ["css-what", "npm:6.1.0"],\ - ["domhandler", "npm:5.0.3"],\ - ["domutils", "npm:3.1.0"],\ - ["nth-check", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["css-what", [\ - ["npm:6.1.0", {\ - "packageLocation": "./.yarn/cache/css-what-npm-6.1.0-57f751efbb-b975e547e1.zip/node_modules/css-what/",\ - "packageDependencies": [\ - ["css-what", "npm:6.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["daggerbot-ts", [\ ["workspace:.", {\ "packageLocation": "./",\ "packageDependencies": [\ ["daggerbot-ts", "workspace:."],\ - ["@discord-player/extractor", "npm:4.4.4"],\ - ["@discordjs/opus", "npm:0.9.0"],\ ["@octokit/auth-token", "npm:4.0.0"],\ ["@octokit/rest", "npm:20.0.2"],\ ["@types/ms", "npm:0.7.32"],\ - ["@types/node", "npm:20.8.2"],\ + ["@types/node", "npm:20.8.3"],\ ["@types/node-cron", "npm:3.0.9"],\ ["ansi-colors", "npm:4.1.3"],\ ["canvas", "npm:2.11.2"],\ - ["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.4"],\ + ["dayjs", "npm:1.11.10"],\ ["discord.js", "npm:14.13.0"],\ - ["libsodium-wrappers", "npm:0.7.13"],\ - ["moment", "npm:2.29.4"],\ - ["mongoose", "npm:7.5.4"],\ + ["fast-xml-parser", "npm:4.3.2"],\ + ["mongoose", "npm:7.6.0"],\ ["ms", "npm:2.1.3"],\ ["node-cron", "npm:3.0.2"],\ - ["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\ ["redis", "npm:4.6.10"],\ - ["systeminformation", "npm:5.21.10"],\ - ["typescript", "patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441"],\ - ["xml-js", "npm:1.6.11"],\ - ["youtube-sr", "npm:4.3.4"],\ - ["ytdl-core", "npm:4.11.5"]\ + ["systeminformation", "npm:5.21.11"],\ + ["typescript", "patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441"]\ ],\ "linkType": "SOFT"\ }]\ ]],\ - ["data-uri-to-buffer", [\ - ["npm:4.0.1", {\ - "packageLocation": "./.yarn/cache/data-uri-to-buffer-npm-4.0.1-5c66a78beb-0d0790b67f.zip/node_modules/data-uri-to-buffer/",\ + ["dayjs", [\ + ["npm:1.11.10", {\ + "packageLocation": "./.yarn/cache/dayjs-npm-1.11.10-2b4382efc1-a6b5a3813b.zip/node_modules/dayjs/",\ "packageDependencies": [\ - ["data-uri-to-buffer", "npm:4.0.1"]\ + ["dayjs", "npm:1.11.10"]\ ],\ "linkType": "HARD"\ }]\ @@ -1165,65 +1027,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["discord-api-types", "npm:0.37.50"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:0.37.56", {\ - "packageLocation": "./.yarn/cache/discord-api-types-npm-0.37.56-c9192a9164-797be690af.zip/node_modules/discord-api-types/",\ - "packageDependencies": [\ - ["discord-api-types", "npm:0.37.56"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["discord-player", [\ - ["npm:6.6.4", {\ - "packageLocation": "./.yarn/cache/discord-player-npm-6.6.4-d22a41dbaa-91e613faef.zip/node_modules/discord-player/",\ - "packageDependencies": [\ - ["discord-player", "npm:6.6.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.4", {\ - "packageLocation": "./.yarn/__virtual__/discord-player-virtual-64118aaaf9/0/cache/discord-player-npm-6.6.4-d22a41dbaa-91e613faef.zip/node_modules/discord-player/",\ - "packageDependencies": [\ - ["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.4"],\ - ["@discord-player/equalizer", "npm:0.2.3"],\ - ["@discord-player/extractor", "npm:4.4.4"],\ - ["@discord-player/ffmpeg", "npm:0.1.0"],\ - ["@discord-player/utils", "npm:0.2.2"],\ - ["@types/discord-player__extractor", null],\ - ["@types/discord.js", null],\ - ["@types/youtube-sr", null],\ - ["discord-voip", "npm:0.1.3"],\ - ["discord.js", "npm:14.13.0"],\ - ["ip", "npm:1.1.8"],\ - ["libsodium-wrappers", "npm:0.7.11"],\ - ["youtube-sr", "npm:4.3.4"]\ - ],\ - "packagePeers": [\ - "@discord-player/extractor",\ - "@types/discord-player__extractor",\ - "@types/discord.js",\ - "@types/youtube-sr",\ - "discord.js",\ - "youtube-sr"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["discord-voip", [\ - ["npm:0.1.3", {\ - "packageLocation": "./.yarn/cache/discord-voip-npm-0.1.3-73b0766e7a-9dd87e1871.zip/node_modules/discord-voip/",\ - "packageDependencies": [\ - ["discord-voip", "npm:0.1.3"],\ - ["@discord-player/ffmpeg", "npm:0.1.0"],\ - ["@discord-player/opus", "npm:0.1.2"],\ - ["@types/ws", "npm:8.5.5"],\ - ["discord-api-types", "npm:0.37.56"],\ - ["prism-media", "virtual:73b0766e7a4cf73948665373bb541aaafcf2ff3b41b87b7d0b923b08eff45cdd2f00f45a05efcface0fa1d93425f73fd06ec491103e358bb07f7a87da12ccb8d#npm:1.3.5"],\ - ["tslib", "npm:2.6.1"],\ - ["ws", "virtual:31c533a2eb37dc1746b7d976d500ca13eb00e91bf180b840d65754f8c6e137fa3abf10279db8d10554ceb81785dfffeb6b725d592c9bfa5b4309edf4781c592e#npm:8.13.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["discord.js", [\ @@ -1249,49 +1052,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["dom-serializer", [\ - ["npm:2.0.0", {\ - "packageLocation": "./.yarn/cache/dom-serializer-npm-2.0.0-378ebc7200-cd1810544f.zip/node_modules/dom-serializer/",\ - "packageDependencies": [\ - ["dom-serializer", "npm:2.0.0"],\ - ["domelementtype", "npm:2.3.0"],\ - ["domhandler", "npm:5.0.3"],\ - ["entities", "npm:4.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["domelementtype", [\ - ["npm:2.3.0", {\ - "packageLocation": "./.yarn/cache/domelementtype-npm-2.3.0-02de7cbfba-ee837a318f.zip/node_modules/domelementtype/",\ - "packageDependencies": [\ - ["domelementtype", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["domhandler", [\ - ["npm:5.0.3", {\ - "packageLocation": "./.yarn/cache/domhandler-npm-5.0.3-3ede73dc10-0f58f4a6af.zip/node_modules/domhandler/",\ - "packageDependencies": [\ - ["domhandler", "npm:5.0.3"],\ - ["domelementtype", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["domutils", [\ - ["npm:3.1.0", {\ - "packageLocation": "./.yarn/cache/domutils-npm-3.1.0-66c92ef7eb-e5757456dd.zip/node_modules/domutils/",\ - "packageDependencies": [\ - ["domutils", "npm:3.1.0"],\ - ["dom-serializer", "npm:2.0.0"],\ - ["domelementtype", "npm:2.3.0"],\ - ["domhandler", "npm:5.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["eastasianwidth", [\ ["npm:0.2.0", {\ "packageLocation": "./.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip/node_modules/eastasianwidth/",\ @@ -1327,15 +1087,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["entities", [\ - ["npm:4.5.0", {\ - "packageLocation": "./.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip/node_modules/entities/",\ - "packageDependencies": [\ - ["entities", "npm:4.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["env-paths", [\ ["npm:2.2.1", {\ "packageLocation": "./.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip/node_modules/env-paths/",\ @@ -1372,25 +1123,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["fetch-blob", [\ - ["npm:3.2.0", {\ - "packageLocation": "./.yarn/cache/fetch-blob-npm-3.2.0-28e01becfc-f19bc28a2a.zip/node_modules/fetch-blob/",\ + ["fast-xml-parser", [\ + ["npm:4.3.2", {\ + "packageLocation": "./.yarn/cache/fast-xml-parser-npm-4.3.2-ccbd0655a8-d507ce2efa.zip/node_modules/fast-xml-parser/",\ "packageDependencies": [\ - ["fetch-blob", "npm:3.2.0"],\ - ["node-domexception", "npm:1.0.0"],\ - ["web-streams-polyfill", "npm:3.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-type", [\ - ["npm:16.5.4", {\ - "packageLocation": "./.yarn/cache/file-type-npm-16.5.4-36faadc4ae-d983c0f364.zip/node_modules/file-type/",\ - "packageDependencies": [\ - ["file-type", "npm:16.5.4"],\ - ["readable-web-to-node-stream", "npm:3.0.2"],\ - ["strtok3", "npm:6.3.0"],\ - ["token-types", "npm:4.2.1"]\ + ["fast-xml-parser", "npm:4.3.2"],\ + ["strnum", "npm:1.0.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -1406,16 +1144,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["formdata-polyfill", [\ - ["npm:4.0.10", {\ - "packageLocation": "./.yarn/cache/formdata-polyfill-npm-4.0.10-e03013c013-82a34df292.zip/node_modules/formdata-polyfill/",\ - "packageDependencies": [\ - ["formdata-polyfill", "npm:4.0.10"],\ - ["fetch-blob", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["fs-minipass", [\ ["npm:2.1.0", {\ "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip/node_modules/fs-minipass/",\ @@ -1485,17 +1213,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["genius-lyrics", [\ - ["npm:4.4.6", {\ - "packageLocation": "./.yarn/cache/genius-lyrics-npm-4.4.6-beff04ebb7-05a7420c75.zip/node_modules/genius-lyrics/",\ - "packageDependencies": [\ - ["genius-lyrics", "npm:4.4.6"],\ - ["node-html-parser", "npm:6.1.10"],\ - ["undici", "npm:5.24.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["glob", [\ ["npm:10.3.3", {\ "packageLocation": "./.yarn/cache/glob-npm-10.3.3-2d9abea8c7-29190d3291.zip/node_modules/glob/",\ @@ -1541,24 +1258,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["he", [\ - ["npm:1.2.0", {\ - "packageLocation": "./.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip/node_modules/he/",\ - "packageDependencies": [\ - ["he", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["himalaya", [\ - ["npm:1.1.0", {\ - "packageLocation": "./.yarn/cache/himalaya-npm-1.1.0-40fd7e74ea-b07c165e78.zip/node_modules/himalaya/",\ - "packageDependencies": [\ - ["himalaya", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["http-cache-semantics", [\ ["npm:4.1.1", {\ "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip/node_modules/http-cache-semantics/",\ @@ -1611,15 +1310,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["ieee754", [\ - ["npm:1.2.1", {\ - "packageLocation": "./.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip/node_modules/ieee754/",\ - "packageDependencies": [\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["imurmurhash", [\ ["npm:0.1.4", {\ "packageLocation": "./.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip/node_modules/imurmurhash/",\ @@ -1659,13 +1349,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["ip", [\ - ["npm:1.1.8", {\ - "packageLocation": "./.yarn/cache/ip-npm-1.1.8-abea558b72-a2ade53eb3.zip/node_modules/ip/",\ - "packageDependencies": [\ - ["ip", "npm:1.1.8"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip/node_modules/ip/",\ "packageDependencies": [\ @@ -1710,17 +1393,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["isomorphic-unfetch", [\ - ["npm:4.0.2", {\ - "packageLocation": "./.yarn/cache/isomorphic-unfetch-npm-4.0.2-39843f2d46-a5c22569f1.zip/node_modules/isomorphic-unfetch/",\ - "packageDependencies": [\ - ["isomorphic-unfetch", "npm:4.0.2"],\ - ["node-fetch", "npm:3.3.2"],\ - ["unfetch", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["jackspeak", [\ ["npm:2.2.2", {\ "packageLocation": "./.yarn/cache/jackspeak-npm-2.2.2-374ca454fe-7b1468dd91.zip/node_modules/jackspeak/",\ @@ -1741,40 +1413,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["libsodium", [\ - ["npm:0.7.11", {\ - "packageLocation": "./.yarn/cache/libsodium-npm-0.7.11-7f8f1452e8-0a3493ac18.zip/node_modules/libsodium/",\ - "packageDependencies": [\ - ["libsodium", "npm:0.7.11"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.7.13", {\ - "packageLocation": "./.yarn/cache/libsodium-npm-0.7.13-1c1f114c26-75a5f70e84.zip/node_modules/libsodium/",\ - "packageDependencies": [\ - ["libsodium", "npm:0.7.13"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["libsodium-wrappers", [\ - ["npm:0.7.11", {\ - "packageLocation": "./.yarn/cache/libsodium-wrappers-npm-0.7.11-4378875344-6a6ef47b22.zip/node_modules/libsodium-wrappers/",\ - "packageDependencies": [\ - ["libsodium-wrappers", "npm:0.7.11"],\ - ["libsodium", "npm:0.7.11"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.7.13", {\ - "packageLocation": "./.yarn/cache/libsodium-wrappers-npm-0.7.13-ffebbdd432-d184395f7c.zip/node_modules/libsodium-wrappers/",\ - "packageDependencies": [\ - ["libsodium-wrappers", "npm:0.7.13"],\ - ["libsodium", "npm:0.7.13"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["lodash", [\ ["npm:4.17.21", {\ "packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip/node_modules/lodash/",\ @@ -1817,17 +1455,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["m3u8stream", [\ - ["npm:0.8.6", {\ - "packageLocation": "./.yarn/cache/m3u8stream-npm-0.8.6-c85339dd6c-b8f61c1101.zip/node_modules/m3u8stream/",\ - "packageDependencies": [\ - ["m3u8stream", "npm:0.8.6"],\ - ["miniget", "npm:4.2.3"],\ - ["sax", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["magic-bytes.js", [\ ["npm:1.0.15", {\ "packageLocation": "./.yarn/cache/magic-bytes.js-npm-1.0.15-c06e224aad-cef9a3f928.zip/node_modules/magic-bytes.js/",\ @@ -1889,15 +1516,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["miniget", [\ - ["npm:4.2.3", {\ - "packageLocation": "./.yarn/cache/miniget-npm-4.2.3-c4b2251816-c2db18570b.zip/node_modules/miniget/",\ - "packageDependencies": [\ - ["miniget", "npm:4.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["minimatch", [\ ["npm:3.1.2", {\ "packageLocation": "./.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip/node_modules/minimatch/",\ @@ -2013,27 +1631,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["moment", [\ - ["npm:2.29.4", {\ - "packageLocation": "./.yarn/cache/moment-npm-2.29.4-902943305d-0ec3f9c2bc.zip/node_modules/moment/",\ - "packageDependencies": [\ - ["moment", "npm:2.29.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["mongodb", [\ - ["npm:5.8.1", {\ - "packageLocation": "./.yarn/cache/mongodb-npm-5.8.1-d655990b24-da8fc05952.zip/node_modules/mongodb/",\ + ["npm:5.9.0", {\ + "packageLocation": "./.yarn/cache/mongodb-npm-5.9.0-e0f7c8bf46-5fb828d650.zip/node_modules/mongodb/",\ "packageDependencies": [\ - ["mongodb", "npm:5.8.1"]\ + ["mongodb", "npm:5.9.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:3ded3033d81ba8a2f252495b560c7cd93b9f3811f6b8b868c741474abfa6e74ed568da8d022d442e9383422b59ce654bd217c246dafc6fdc070c5babe38bff03#npm:5.8.1", {\ - "packageLocation": "./.yarn/__virtual__/mongodb-virtual-11385087bd/0/cache/mongodb-npm-5.8.1-d655990b24-da8fc05952.zip/node_modules/mongodb/",\ + ["virtual:37abec77d7dc7578c3481b688eb08df6ddf0e09ac544233af04e18b943994ad13be3da825f8a6b3b8132cf5f46c7740bef76d1cd1fa038d087d94bb8cf2e95ea#npm:5.9.0", {\ + "packageLocation": "./.yarn/__virtual__/mongodb-virtual-d6bf1ad9ff/0/cache/mongodb-npm-5.9.0-e0f7c8bf46-5fb828d650.zip/node_modules/mongodb/",\ "packageDependencies": [\ - ["mongodb", "virtual:3ded3033d81ba8a2f252495b560c7cd93b9f3811f6b8b868c741474abfa6e74ed568da8d022d442e9383422b59ce654bd217c246dafc6fdc070c5babe38bff03#npm:5.8.1"],\ + ["mongodb", "virtual:37abec77d7dc7578c3481b688eb08df6ddf0e09ac544233af04e18b943994ad13be3da825f8a6b3b8132cf5f46c7740bef76d1cd1fa038d087d94bb8cf2e95ea#npm:5.9.0"],\ ["@aws-sdk/credential-providers", null],\ ["@mongodb-js/saslprep", "npm:1.1.0"],\ ["@mongodb-js/zstd", null],\ @@ -2042,7 +1651,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/mongodb-client-encryption", null],\ ["@types/mongodb-js__zstd", null],\ ["@types/snappy", null],\ - ["bson", "npm:5.4.0"],\ + ["bson", "npm:5.5.0"],\ ["kerberos", null],\ ["mongodb-client-encryption", null],\ ["mongodb-connection-string-url", "npm:2.6.0"],\ @@ -2076,13 +1685,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["mongoose", [\ - ["npm:7.5.4", {\ - "packageLocation": "./.yarn/cache/mongoose-npm-7.5.4-3ded3033d8-e888bc5e47.zip/node_modules/mongoose/",\ + ["npm:7.6.0", {\ + "packageLocation": "./.yarn/cache/mongoose-npm-7.6.0-37abec77d7-5178fdc1c8.zip/node_modules/mongoose/",\ "packageDependencies": [\ - ["mongoose", "npm:7.5.4"],\ + ["mongoose", "npm:7.6.0"],\ ["bson", "npm:5.4.0"],\ ["kareem", "npm:2.5.1"],\ - ["mongodb", "virtual:3ded3033d81ba8a2f252495b560c7cd93b9f3811f6b8b868c741474abfa6e74ed568da8d022d442e9383422b59ce654bd217c246dafc6fdc070c5babe38bff03#npm:5.8.1"],\ + ["mongodb", "virtual:37abec77d7dc7578c3481b688eb08df6ddf0e09ac544233af04e18b943994ad13be3da825f8a6b3b8132cf5f46c7740bef76d1cd1fa038d087d94bb8cf2e95ea#npm:5.9.0"],\ ["mpath", "npm:0.9.0"],\ ["mquery", "npm:5.0.0"],\ ["ms", "npm:2.1.3"],\ @@ -2145,16 +1754,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["node-addon-api", [\ - ["npm:5.1.0", {\ - "packageLocation": "./.yarn/unplugged/node-addon-api-npm-5.1.0-b50d00f739/node_modules/node-addon-api/",\ - "packageDependencies": [\ - ["node-addon-api", "npm:5.1.0"],\ - ["node-gyp", "npm:9.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["node-cron", [\ ["npm:3.0.2", {\ "packageLocation": "./.yarn/cache/node-cron-npm-3.0.2-5ee1c1c226-dd21585c0d.zip/node_modules/node-cron/",\ @@ -2165,15 +1764,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["node-domexception", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/node-domexception-npm-1.0.0-e1e813b76f-ee1d37dd2a.zip/node_modules/node-domexception/",\ - "packageDependencies": [\ - ["node-domexception", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["node-fetch", [\ ["npm:2.6.12", {\ "packageLocation": "./.yarn/cache/node-fetch-npm-2.6.12-48619ce9d6-3bc1655203.zip/node_modules/node-fetch/",\ @@ -2182,20 +1772,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:3.3.2", {\ - "packageLocation": "./.yarn/cache/node-fetch-npm-3.3.2-5267e015f2-06a04095a2.zip/node_modules/node-fetch/",\ + ["virtual:5547f15a2bb3d361d141532d43f94523f31e9edfe533f8367b3e26e300194e2978be03f56c09e100afcfee4c02b7fbe13c6ffcf58c613b457a86da522a2979f2#npm:2.6.12", {\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-08710871b2/0/cache/node-fetch-npm-2.6.12-48619ce9d6-3bc1655203.zip/node_modules/node-fetch/",\ "packageDependencies": [\ - ["node-fetch", "npm:3.3.2"],\ - ["data-uri-to-buffer", "npm:4.0.1"],\ - ["fetch-blob", "npm:3.2.0"],\ - ["formdata-polyfill", "npm:4.0.10"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:96190e77b0d1d9514198043e0d57ffc6ec9756bb40a6a375e74b503742f52d995fd945e4450439fc918585a43d04de7bc0829d40d03902827616828b235f2002#npm:2.6.12", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-fb47434e05/0/cache/node-fetch-npm-2.6.12-48619ce9d6-3bc1655203.zip/node_modules/node-fetch/",\ - "packageDependencies": [\ - ["node-fetch", "virtual:96190e77b0d1d9514198043e0d57ffc6ec9756bb40a6a375e74b503742f52d995fd945e4450439fc918585a43d04de7bc0829d40d03902827616828b235f2002#npm:2.6.12"],\ + ["node-fetch", "virtual:5547f15a2bb3d361d141532d43f94523f31e9edfe533f8367b3e26e300194e2978be03f56c09e100afcfee4c02b7fbe13c6ffcf58c613b457a86da522a2979f2#npm:2.6.12"],\ ["@types/encoding", null],\ ["encoding", null],\ ["whatwg-url", "npm:5.0.0"]\ @@ -2227,26 +1807,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["node-html-parser", [\ - ["npm:6.1.10", {\ - "packageLocation": "./.yarn/cache/node-html-parser-npm-6.1.10-155152e1bc-927f6a38b3.zip/node_modules/node-html-parser/",\ - "packageDependencies": [\ - ["node-html-parser", "npm:6.1.10"],\ - ["css-select", "npm:5.1.0"],\ - ["he", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.1.5", {\ - "packageLocation": "./.yarn/cache/node-html-parser-npm-6.1.5-b4e338af4b-b54257b319.zip/node_modules/node-html-parser/",\ - "packageDependencies": [\ - ["node-html-parser", "npm:6.1.5"],\ - ["css-select", "npm:5.1.0"],\ - ["he", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["nopt", [\ ["npm:5.0.0", {\ "packageLocation": "./.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip/node_modules/nopt/",\ @@ -2289,16 +1849,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["nth-check", [\ - ["npm:2.1.1", {\ - "packageLocation": "./.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip/node_modules/nth-check/",\ - "packageDependencies": [\ - ["nth-check", "npm:2.1.1"],\ - ["boolbase", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["object-assign", [\ ["npm:4.1.1", {\ "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-fcc6e4ea8c.zip/node_modules/object-assign/",\ @@ -2357,74 +1907,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["peek-readable", [\ - ["npm:4.1.0", {\ - "packageLocation": "./.yarn/cache/peek-readable-npm-4.1.0-26439d9ff8-02c673f9bc.zip/node_modules/peek-readable/",\ - "packageDependencies": [\ - ["peek-readable", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prism-media", [\ - ["npm:1.3.5", {\ - "packageLocation": "./.yarn/cache/prism-media-npm-1.3.5-f727c60102-a4fbe5c91f.zip/node_modules/prism-media/",\ - "packageDependencies": [\ - ["prism-media", "npm:1.3.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5", {\ - "packageLocation": "./.yarn/__virtual__/prism-media-virtual-1dc84686ac/0/cache/prism-media-npm-1.3.5-f727c60102-a4fbe5c91f.zip/node_modules/prism-media/",\ - "packageDependencies": [\ - ["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\ - ["@discordjs/opus", "npm:0.9.0"],\ - ["@types/discordjs__opus", null],\ - ["@types/ffmpeg-static", null],\ - ["@types/node-opus", null],\ - ["@types/opusscript", null],\ - ["ffmpeg-static", null],\ - ["node-opus", null],\ - ["opusscript", null]\ - ],\ - "packagePeers": [\ - "@discordjs/opus",\ - "@types/discordjs__opus",\ - "@types/ffmpeg-static",\ - "@types/node-opus",\ - "@types/opusscript",\ - "ffmpeg-static",\ - "node-opus",\ - "opusscript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:73b0766e7a4cf73948665373bb541aaafcf2ff3b41b87b7d0b923b08eff45cdd2f00f45a05efcface0fa1d93425f73fd06ec491103e358bb07f7a87da12ccb8d#npm:1.3.5", {\ - "packageLocation": "./.yarn/__virtual__/prism-media-virtual-f7e8cf73ea/0/cache/prism-media-npm-1.3.5-f727c60102-a4fbe5c91f.zip/node_modules/prism-media/",\ - "packageDependencies": [\ - ["prism-media", "virtual:73b0766e7a4cf73948665373bb541aaafcf2ff3b41b87b7d0b923b08eff45cdd2f00f45a05efcface0fa1d93425f73fd06ec491103e358bb07f7a87da12ccb8d#npm:1.3.5"],\ - ["@discordjs/opus", null],\ - ["@types/discordjs__opus", null],\ - ["@types/ffmpeg-static", null],\ - ["@types/node-opus", null],\ - ["@types/opusscript", null],\ - ["ffmpeg-static", null],\ - ["node-opus", null],\ - ["opusscript", null]\ - ],\ - "packagePeers": [\ - "@discordjs/opus",\ - "@types/discordjs__opus",\ - "@types/ffmpeg-static",\ - "@types/node-opus",\ - "@types/opusscript",\ - "ffmpeg-static",\ - "node-opus",\ - "opusscript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["promise-retry", [\ ["npm:2.0.1", {\ "packageLocation": "./.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip/node_modules/promise-retry/",\ @@ -2457,16 +1939,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["readable-web-to-node-stream", [\ - ["npm:3.0.2", {\ - "packageLocation": "./.yarn/cache/readable-web-to-node-stream-npm-3.0.2-682f5de297-8c56cc62c6.zip/node_modules/readable-web-to-node-stream/",\ - "packageDependencies": [\ - ["readable-web-to-node-stream", "npm:3.0.2"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["redis", [\ ["npm:4.6.10", {\ "packageLocation": "./.yarn/cache/redis-npm-4.6.10-937ea26aed-eae6e10f6e.zip/node_modules/redis/",\ @@ -2491,16 +1963,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["reverbnation-scraper", [\ - ["npm:2.0.0", {\ - "packageLocation": "./.yarn/cache/reverbnation-scraper-npm-2.0.0-96190e77b0-4d8f609a0b.zip/node_modules/reverbnation-scraper/",\ - "packageDependencies": [\ - ["reverbnation-scraper", "npm:2.0.0"],\ - ["node-fetch", "virtual:96190e77b0d1d9514198043e0d57ffc6ec9756bb40a6a375e74b503742f52d995fd945e4450439fc918585a43d04de7bc0829d40d03902827616828b235f2002#npm:2.6.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["rimraf", [\ ["npm:3.0.2", {\ "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip/node_modules/rimraf/",\ @@ -2529,15 +1991,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["sax", [\ - ["npm:1.2.4", {\ - "packageLocation": "./.yarn/cache/sax-npm-1.2.4-178f05f12f-d3df7d32b8.zip/node_modules/sax/",\ - "packageDependencies": [\ - ["sax", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["semver", [\ ["npm:6.3.1", {\ "packageLocation": "./.yarn/cache/semver-npm-6.3.1-bcba31fdbe-ae47d06de2.zip/node_modules/semver/",\ @@ -2661,16 +2114,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["soundcloud.ts", [\ - ["npm:0.5.2", {\ - "packageLocation": "./.yarn/cache/soundcloud.ts-npm-0.5.2-e8bfadd02f-6abd85b629.zip/node_modules/soundcloud.ts/",\ - "packageDependencies": [\ - ["soundcloud.ts", "npm:0.5.2"],\ - ["undici", "npm:5.23.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["sparse-bitfield", [\ ["npm:3.0.3", {\ "packageLocation": "./.yarn/cache/sparse-bitfield-npm-3.0.3-cb80d0c89f-174da88dbb.zip/node_modules/sparse-bitfield/",\ @@ -2681,26 +2124,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["spotify-uri", [\ - ["npm:4.0.0", {\ - "packageLocation": "./.yarn/cache/spotify-uri-npm-4.0.0-746c613cee-272e1692a7.zip/node_modules/spotify-uri/",\ - "packageDependencies": [\ - ["spotify-uri", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["spotify-url-info", [\ - ["npm:3.2.6", {\ - "packageLocation": "./.yarn/cache/spotify-url-info-npm-3.2.6-83fff60a09-4101df615b.zip/node_modules/spotify-url-info/",\ - "packageDependencies": [\ - ["spotify-url-info", "npm:3.2.6"],\ - ["himalaya", "npm:1.1.0"],\ - ["spotify-uri", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["ssri", [\ ["npm:10.0.4", {\ "packageLocation": "./.yarn/cache/ssri-npm-10.0.4-f583dafaf3-fb14da9f8a.zip/node_modules/ssri/",\ @@ -2770,22 +2193,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["strtok3", [\ - ["npm:6.3.0", {\ - "packageLocation": "./.yarn/cache/strtok3-npm-6.3.0-73598951ca-90732cff3f.zip/node_modules/strtok3/",\ + ["strnum", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/strnum-npm-1.0.5-9ba11d2a0a-651b2031db.zip/node_modules/strnum/",\ "packageDependencies": [\ - ["strtok3", "npm:6.3.0"],\ - ["@tokenizer/token", "npm:0.3.0"],\ - ["peek-readable", "npm:4.1.0"]\ + ["strnum", "npm:1.0.5"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["systeminformation", [\ - ["npm:5.21.10", {\ - "packageLocation": "./.yarn/unplugged/systeminformation-npm-5.21.10-82d4c0439d/node_modules/systeminformation/",\ + ["npm:5.21.11", {\ + "packageLocation": "./.yarn/unplugged/systeminformation-npm-5.21.11-4066ccd78b/node_modules/systeminformation/",\ "packageDependencies": [\ - ["systeminformation", "npm:5.21.10"]\ + ["systeminformation", "npm:5.21.11"]\ ],\ "linkType": "HARD"\ }]\ @@ -2805,17 +2226,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["token-types", [\ - ["npm:4.2.1", {\ - "packageLocation": "./.yarn/cache/token-types-npm-4.2.1-1d37f3d456-cce256766b.zip/node_modules/token-types/",\ - "packageDependencies": [\ - ["token-types", "npm:4.2.1"],\ - ["@tokenizer/token", "npm:0.3.0"],\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["tr46", [\ ["npm:0.0.3", {\ "packageLocation": "./.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip/node_modules/tr46/",\ @@ -2868,31 +2278,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["busboy", "npm:1.6.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:5.23.0", {\ - "packageLocation": "./.yarn/cache/undici-npm-5.23.0-eb9e1b02e8-906ca4fb1d.zip/node_modules/undici/",\ - "packageDependencies": [\ - ["undici", "npm:5.23.0"],\ - ["busboy", "npm:1.6.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.24.0", {\ - "packageLocation": "./.yarn/cache/undici-npm-5.24.0-df83ac4dd5-0795b69e0f.zip/node_modules/undici/",\ - "packageDependencies": [\ - ["undici", "npm:5.24.0"],\ - ["busboy", "npm:1.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unfetch", [\ - ["npm:5.0.0", {\ - "packageLocation": "./.yarn/cache/unfetch-npm-5.0.0-bb7408900a-005133bcdc.zip/node_modules/unfetch/",\ - "packageDependencies": [\ - ["unfetch", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["unique-filename", [\ @@ -2942,15 +2327,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["web-streams-polyfill", [\ - ["npm:3.2.1", {\ - "packageLocation": "./.yarn/cache/web-streams-polyfill-npm-3.2.1-835bd3857e-b119c78574.zip/node_modules/web-streams-polyfill/",\ - "packageDependencies": [\ - ["web-streams-polyfill", "npm:3.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["webidl-conversions", [\ ["npm:3.0.1", {\ "packageLocation": "./.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip/node_modules/webidl-conversions/",\ @@ -3064,16 +2440,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["xml-js", [\ - ["npm:1.6.11", {\ - "packageLocation": "./.yarn/cache/xml-js-npm-1.6.11-56742b7fb0-24a5547991.zip/node_modules/xml-js/",\ - "packageDependencies": [\ - ["xml-js", "npm:1.6.11"],\ - ["sax", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["yallist", [\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip/node_modules/yallist/",\ @@ -3082,27 +2448,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }]\ - ]],\ - ["youtube-sr", [\ - ["npm:4.3.4", {\ - "packageLocation": "./.yarn/cache/youtube-sr-npm-4.3.4-102d63be7a-e097f2a82d.zip/node_modules/youtube-sr/",\ - "packageDependencies": [\ - ["youtube-sr", "npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ytdl-core", [\ - ["npm:4.11.5", {\ - "packageLocation": "./.yarn/cache/ytdl-core-npm-4.11.5-62c9f9ffe4-f81ae90778.zip/node_modules/ytdl-core/",\ - "packageDependencies": [\ - ["ytdl-core", "npm:4.11.5"],\ - ["m3u8stream", "npm:0.8.6"],\ - ["miniget", "npm:4.2.3"],\ - ["sax", "npm:1.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ ]]\ ]\ }'), {basePath: basePath || __dirname}); diff --git a/package.json b/package.json index 8e109ec..f992c25 100644 --- a/package.json +++ b/package.json @@ -29,30 +29,23 @@ "engineStrict": true, "packageManager": "yarn@3.6.3", "dependencies": { - "@discord-player/extractor": "4.4.4", - "@discordjs/opus": "0.9.0", "@octokit/auth-token": "4.0.0", "@octokit/rest": "20.0.2", "ansi-colors": "4.1.3", "canvas": "2.11.2", - "discord-player": "6.6.4", + "dayjs": "1.11.10", "discord.js": "14.13.0", - "libsodium-wrappers": "0.7.13", - "moment": "2.29.4", - "mongoose": "7.5.4", + "fast-xml-parser": "4.3.2", + "mongoose": "7.6.0", "ms": "2.1.3", "node-cron": "3.0.2", - "prism-media": "1.3.5", "redis": "4.6.10", - "systeminformation": "5.21.10", - "typescript": "5.2.2", - "xml-js": "1.6.11", - "youtube-sr": "4.3.4", - "ytdl-core": "4.11.5" + "systeminformation": "5.21.11", + "typescript": "5.2.2" }, "devDependencies": { "@types/ms": "0.7.32", - "@types/node": "20.8.2", + "@types/node": "20.8.3", "@types/node-cron": "3.0.9" } } diff --git a/src/client.ts b/src/client.ts index ffc4f1c..c1ffe72 100644 --- a/src/client.ts +++ b/src/client.ts @@ -8,7 +8,8 @@ type MPServerCache = Record import Discord from 'discord.js'; -import {readFileSync, readdirSync} from 'node:fs'; +import ConfigHelper from './helpers/ConfigHelper.js'; +import {readdirSync} from 'node:fs'; import {Config, FSPlayer} from './typings/interfaces'; import bannedWords from './models/bannedWords.js'; import userLevels from './models/userLevels.js'; @@ -19,18 +20,10 @@ import bonkCount from './models/bonkCount.js'; import MPServer from './models/MPServer.js'; import DatabaseServer from './funcs/DatabaseServer.js'; import CacheServer from './funcs/CacheServer.js'; -import xjs from 'xml-js'; -import moment from 'moment'; +import fxp from 'fast-xml-parser'; +import dayjs from 'dayjs'; import TSClient from './helpers/TSClient.js'; - -let importconfig:Config -try{ - importconfig = JSON.parse(readFileSync('src/DB-Beta.config.json', 'utf8')); - console.log('Using development config :: Daggerbot Beta') -} catch(e){ - importconfig = JSON.parse(readFileSync('src/config.json', 'utf8')) - console.log('Using production config') -} +const importconfig = ConfigHelper.loadConfig(process.argv[2] ?? 'src/config.json'); export default class TClient extends Discord.Client { invites: Map; @@ -40,8 +33,8 @@ export default class TClient extends Discord.Client { embed: typeof Discord.EmbedBuilder; collection: typeof Discord.Collection; attachmentBuilder: typeof Discord.AttachmentBuilder; - moment: typeof moment; - xjs: typeof xjs; + dayjs: typeof dayjs; + fxp: typeof fxp; userLevels: userLevels; punishments: punishments; bonkCount: bonkCount; @@ -72,8 +65,8 @@ export default class TClient extends Discord.Client { this.embed = Discord.EmbedBuilder; this.collection = Discord.Collection; this.attachmentBuilder = Discord.AttachmentBuilder; - this.moment = moment; - this.xjs = xjs; + this.dayjs = dayjs; + this.fxp = fxp; this.userLevels = new userLevels(this); this.bonkCount = new bonkCount(this); this.punishments = new punishments(this); diff --git a/src/commands/music.ts b/src/commands/music.ts deleted file mode 100644 index 924e6da..0000000 --- a/src/commands/music.ts +++ /dev/null @@ -1,152 +0,0 @@ -import Discord from 'discord.js'; -import TClient from '../client.js'; -import TSClient from '../helpers/TSClient.js'; -import {Player,useTimeline,useQueue} from 'discord-player'; -import {SpotifyExtractor} from '@discord-player/extractor'; -import MessageTool from '../helpers/MessageTool.js'; -export default { - async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){ - if (!client.config.botSwitches.music && !client.config.whitelist.includes(interaction.user.id)) return interaction.reply({content:'Music module is currently disabled.',ephemeral:true}); - if (!MessageTool.isStaff(interaction.member) && !client.config.whitelist.includes(interaction.member.id)) return interaction.reply('Music module is close to being completed, some parts may be incomplete or broken, so it has been restricted to staff for time-being.'); - const player = Player.singleton(client); - await player.extractors.register(SpotifyExtractor,{clientId: (await TSClient.Token()).spotify.client, clientSecret: (await TSClient.Token()).spotify.secret}); - if (!interaction.member.voice.channel) return interaction.reply('Please join a voice channel first to use the command.'); - player.nodes.create(interaction.guildId, { - metadata: { - channel: interaction.channel, - client: interaction.guild.members.me, - requestedBy: interaction.member - }, - selfDeaf: true, - volume: 75, - skipOnNoStream: true, - leaveOnEnd: false, - leaveOnEmpty: false, - bufferingTimeout: 30000, - connectionTimeout: 25000, - strategy: 'FIFO' - }); - const queue = useQueue(interaction.guildId); - ({ - play: async()=>{ - const url = interaction.options.getString('url'); - if (!url.includes('https://open.spotify.com/')) return interaction.reply('Sorry, I can\'t play that. I can only accept Spotify links that contains `https://open.spotify.com/`'); // Yes, I made it clear that it's intended typo. - if (!(await player.search(url,{requestedBy:interaction.user})).hasTracks()) return interaction.reply(`No results found for \`${url}\`\nIt is either private, unavailable or you made a *tpyo* in your query.`) - player.play(interaction.member.voice.channel, url); - await interaction.reply(`Added the ${url.includes('playlist/') ? 'playlist' : url.includes('album/') ? 'album' : 'song'} to the queue.`); - }, - stop: async()=>{ - player.destroy(); - await interaction.reply('Player destroyed.') - }, - pause: ()=>{ - queue.node.setPaused(!queue.node.isPaused()); - if (queue.node.isPaused()) interaction.reply('Music has been paused.'); - else interaction.reply('Music has been resumed.') - }, - now_playing: ()=>{ - const {volume,timestamp,track} = useTimeline(interaction.guildId); - if (!track) return interaction.reply('There\'s nothing playing, why are you checking?'); - else { - function convertNumberToText(input:number){ - switch(input){ - case 0: return 'Off'; - case 1: return 'Track'; - case 2: return 'Queue'; - case 3: return 'Autoplay DJ'; - } - } - interaction.reply({embeds:[ - new client.embed().setColor(client.config.embedColor).setTitle(`${track.title} - ${track.author}`).setThumbnail(track.thumbnail).addFields( - {name: 'Timestamp', value: `**${timestamp.current.label}**/**${timestamp.total.label}**`, inline: true}, - {name: 'Volume', value: `${volume}%`, inline: true}, - {name: 'Loop mode', value: `${convertNumberToText(queue.repeatMode)}`, inline: true} - ) - ]}) - } - }, - queue: async()=>interaction.reply({embeds:[new client.embed().setColor(client.config.embedColor).setTitle(`Songs currently in the queue: ${queue.tracks.size}`).setDescription(queue.tracks.size > 0 ? `\`\`\`${queue.tracks.map(i=>`${i.title} - ${i.author}\`\`\``).join('```\n')}`.slice(0,1017) : '*No songs currently queued.*')]}), - volume: ()=>{ - const vol = interaction.options.getNumber('percentage'); - queue.node.setVolume(vol); - interaction.reply(`Successfully adjusted the player's volume to ${vol}%`) - }, - shuffle: ()=>{ - queue.tracks.shuffle(); - interaction.reply('Songs in the queue has been shuffled.') - }, - remove: ()=>{ - queue.removeTrack(interaction.options.getNumber('id',true)); - interaction.reply('Song has been removed from the queue.') - }, - skip: ()=>{ - queue.node.skip(); - interaction.reply('Skipped the current song, now playing the next one in queue.') - }, - loop: ()=>{ - const loopMode = interaction.options.getNumber('mode',true); - queue.setRepeatMode(loopMode); - interaction.reply(`Loop mode is now ${loopMode === 0 ? 'disabled.' : loopMode === 1 ? 'set to loop current track.': loopMode === 2 ? 'looping through current queue.' : 'activating Autoplay DJ.'}`) - } - } as any)[interaction.options.getSubcommand()](); - }, - data: new Discord.SlashCommandBuilder() - .setName('music') - .setDescription('Music module') - .addSubcommand(x=>x - .setName('play') - .setDescription('Play a Spotify song') - .addStringOption(x=>x - .setName('url') - .setDescription('Spotify URL') - .setRequired(true))) - .addSubcommand(x=>x - .setName('stop') - .setDescription('Stop playing music and disconnect the bot from voice channel')) - .addSubcommand(x=>x - .setName('skip') - .setDescription('Skip the current song and play the next one')) - .addSubcommand(x=>x - .setName('pause') - .setDescription('Pause/unpause the music')) - .addSubcommand(x=>x - .setName('now_playing') - .setDescription('Check what song is currently playing')) - .addSubcommand(x=>x - .setName('queue') - .setDescription('View the list of songs currently in queue')) - .addSubcommand(x=>x - .setName('volume') - .setDescription('Adjust the player\'s volume') - .addNumberOption(x=>x - .setName('percentage') - .setDescription('Adjust the volume level, ranges from 5 to 100, default is 75') - .setMaxValue(100) - .setMinValue(5) - .setRequired(true))) - .addSubcommand(x=>x - .setName('shuffle') - .setDescription('Shuffle the songs in a queue')) - .addSubcommand(x=>x - .setName('loop') - .setDescription('Loop through queue or current track or enable Autoplay DJ') - .addNumberOption(x=>x - .setName('mode') - .setDescription('Select the available modes to use') - .addChoices( - {name: 'Off', value: 0}, - {name: 'Current track', value: 1}, - {name: 'Queue', value: 2}, - {name: 'Autoplay DJ (Play related songs based on queue)', value: 3} - ) - .setRequired(true))) - .addSubcommand(x=>x - .setName('remove') - .setDescription('Remove a specific song from the queue') - .addNumberOption(x=>x - .setName('id') - .setDescription('Song # in the queue to be removed') - .setMinValue(0) - .setMaxValue(9999) - .setRequired(true))) -} diff --git a/src/commands/suggest.ts b/src/commands/suggest.ts index 1d61db7..805cf1b 100644 --- a/src/commands/suggest.ts +++ b/src/commands/suggest.ts @@ -9,7 +9,7 @@ export default { const suggestionID = (Math.random() + 1).toString(36).substring(5); const userid = (await client.suggestion._content.findById(suggestionIDReply))?.user._id; const theirIdea = (await client.suggestion._content.findById(suggestionIDReply))?.idea; - const timeFormatting = client.moment().format('DD/MM/YY h:mm A'); + const timeFormatting = client.dayjs().format('DD/MM/YY h:mm A'); const stateChanged = 'Suggestion state has been successfully updated and DM is sent.'; const dmFail = `Failed to send a DM to ${MessageTool.formatMention(userid, 'user')}, they possibly have it turned off or blocked me.\nSuggestion ID: **${suggestionIDReply}**`; ({ diff --git a/src/config.json b/src/config.json index e4ead20..d8a06f3 100644 --- a/src/config.json +++ b/src/config.json @@ -1,4 +1,5 @@ { + "configName": "Daggerbot", "embedColor": "#ff69b4", "embedColorBackup": "#0052cf", "embedColorGreen": "#57f287", @@ -26,7 +27,6 @@ "registerCommands": true, "commands": true, "logs": true, - "music": true, "buttonRoles": true, "automod": true, "mpstats": true, @@ -34,7 +34,7 @@ }, "botPresence": { "activities": [ - {"name": "Today is October!", "url": "https://www.youtube.com/watch?v=kpGdeUE26Dk", "type": 1} + {"name": "Today is October!", "url": "https://www.youtube.com/watch?v=8wx8lmN5d-I", "type": 1} ], "status": "online" }, diff --git a/src/funcs/MPModule.ts b/src/funcs/MPModule.ts index b053e60..597c02e 100644 --- a/src/funcs/MPModule.ts +++ b/src/funcs/MPModule.ts @@ -12,6 +12,7 @@ import {FSPlayer, FSData, FSCareerSavegame} from '../typings/interfaces'; export default async(client:TClient, Channel:string, Message:string, Server:TServer, ServerName:string)=>{ let playerData:Array = []; + let dataUnavailable = 'Unavailable' const msg = await (client.channels.resolve(Channel) as Discord.TextChannel).messages.fetch(Message); const serverErrorEmbed = new client.embed().setColor(client.config.embedColorRed).setTitle('Host did not respond back in time'); const genericEmbed = new client.embed(); @@ -20,7 +21,8 @@ export default async(client:TClient, Channel:string, Message:string, Server:TSer try { const hitDSS = await fetch(Server.ip+'/feed/dedicated-server-stats.json?code='+Server.code, sessionInit).then(r=>r.json() as Promise); - const hitCSG = await fetch(Server.ip+'/feed/dedicated-server-savegame.html?code='+Server.code+'&file=careerSavegame', sessionInit).then(async r=>(client.xjs.xml2js(await r.text(), {compact: true}) as any).careerSavegame as FSCareerSavegame); + const hitCSG = await fetch(Server.ip+'/feed/dedicated-server-savegame.html?code='+Server.code+'&file=careerSavegame', sessionInit).then(async r=>(new client.fxp.XMLParser({ignoreAttributes: false, transformAttributeName(attributeName){return attributeName.replaceAll('@_','')}}).parse(await r.text()) as any).careerSavegame as FSCareerSavegame); + console.log(hitCSG.settings) if (!hitDSS ?? !hitCSG){ if (hitDSS && !hitDSS.slots) return Logger.forwardToConsole('log', 'MPModule', `DSS failed with unknown slots table for ${client.MPServerCache[ServerName].name}`); @@ -78,22 +80,21 @@ export default async(client:TClient, Channel:string, Message:string, Server:TSer {name: 'Current map', value: hitDSS.server.mapName, inline: true}, {name: 'Server version', value: hitDSS.server.version, inline: true}, {name: 'In-game Time', value: `${('0'+Math.floor((hitDSS.server.dayTime/3600/1000))).slice(-2)}:${('0'+Math.floor((hitDSS.server.dayTime/60/1000)%60)).slice(-2)}`, inline: true}, - {name: 'Slot Usage', value: isNaN(Number(hitCSG?.slotSystem?._attributes.slotUsage)) === true ? 'Unavailable' : Number(hitCSG.slotSystem?._attributes.slotUsage).toLocaleString('en-us'), inline: true}, - {name: 'Autosave Interval', value: isNaN(Number(hitCSG?.settings?.autoSaveInterval._text)) === true ? 'Unavailable' : Number(hitCSG.settings?.autoSaveInterval._text).toFixed(0)+' mins', inline:true}, - {name: 'Timescale', value: isNaN(Number(hitCSG?.settings?.timeScale._text)) === true ? 'Unavailable' : formatTimescale(Number(hitCSG.settings?.timeScale._text), 0, 'x'), inline: true} + {name: 'Slot Usage', value: isNaN(Number(hitCSG?.slotSystem?.slotUsage)) === true ? dataUnavailable : Number(hitCSG.slotSystem?.slotUsage).toLocaleString('en-us'), inline: true}, + {name: 'Autosave Interval', value: isNaN(Number(hitCSG?.settings?.autoSaveInterval)) === true ? dataUnavailable : Number(hitCSG.settings?.autoSaveInterval).toFixed(0)+' mins', inline:true}, + {name: 'Timescale', value: isNaN(Number(hitCSG?.settings?.timeScale)) === true ? dataUnavailable : formatTimescale(Number(hitCSG.settings?.timeScale), 0, 'x'), inline: true} ); const playersEmbed = new client.embed().setColor(client.config.embedColor).setTitle(hitDSS.server.name).setDescription(hitDSS.slots.used < 1 ? '*No players online*' : playerData.join('\n\n')).setAuthor({name:`${hitDSS.slots.used}/${hitDSS.slots.capacity}`}); msg.edit({content:refreshIntervalText,embeds:[serverDetails, playersEmbed]}); } // #multifarm_chat webhook - let dataUnavailable = 'Unavailable'; const growthModeTextMap = { '1': 'Yes', '2': 'No', '3': 'Growth paused' } - const growthModeText = growthModeTextMap[hitCSG?.settings.growthMode._text] ?? dataUnavailable; + const growthModeText = growthModeTextMap[hitCSG?.settings.growthMode] ?? dataUnavailable; function genericMapping(map: Record, key: string, defaultValue: T): T { return map[key] ?? defaultValue; @@ -108,7 +109,7 @@ export default async(client:TClient, Channel:string, Message:string, Server:TSer '2': 'Normal', '3': 'High' } - const fuelUsageText = fuelUsageTextMap[hitCSG?.settings.fuelUsage._text] ?? dataUnavailable; + const fuelUsageText = fuelUsageTextMap[hitCSG?.settings.fuelUsage] ?? dataUnavailable; const dirtIntervalTextMap = { '1': 'Off', @@ -116,17 +117,17 @@ export default async(client:TClient, Channel:string, Message:string, Server:TSer '3': 'Normal', '4': 'Fast' } - const dirtIntervalText = dirtIntervalTextMap[hitCSG?.settings.dirtInterval._text] ?? dataUnavailable; + const dirtIntervalText = dirtIntervalTextMap[hitCSG?.settings.dirtInterval] ?? dataUnavailable; // Edit the embed in #multifarm_chat HookMgr.edit(client, 'mf_chat', '1159998634604109897', '1160098458997370941', { content: refreshIntervalText, embeds: [new client.embed().setColor(client.config.embedColor).setTitle('Savegame Settings').addFields( {name: 'Seasonal Growth', value: growthModeText, inline: true}, - {name: 'Crop Destruction', value: genericMapping(genericTextMap, hitCSG?.settings.fruitDestruction._text, dataUnavailable), inline: true}, - {name: 'Periodic Plowing', value: genericMapping(genericTextMap, hitCSG?.settings.plowingRequiredEnabled._text, dataUnavailable), inline: true}, - {name: 'Stones', value: genericMapping(genericTextMap, hitCSG?.settings.stonesEnabled._text, dataUnavailable), inline: true}, - {name: 'Lime', value: genericMapping(genericTextMap, hitCSG?.settings.limeRequired._text, dataUnavailable), inline: true}, - {name: 'Weeds', value: genericMapping(genericTextMap, hitCSG?.settings.weedsEnabled._text, dataUnavailable), inline: true}, + {name: 'Crop Destruction', value: genericMapping(genericTextMap, hitCSG?.settings.fruitDestruction, dataUnavailable), inline: true}, + {name: 'Periodic Plowing', value: genericMapping(genericTextMap, hitCSG?.settings.plowingRequiredEnabled, dataUnavailable), inline: true}, + {name: 'Stones', value: genericMapping(genericTextMap, hitCSG?.settings.stonesEnabled, dataUnavailable), inline: true}, + {name: 'Lime', value: genericMapping(genericTextMap, hitCSG?.settings.limeRequired, dataUnavailable), inline: true}, + {name: 'Weeds', value: genericMapping(genericTextMap, hitCSG?.settings.weedsEnabled, dataUnavailable), inline: true}, {name: 'Fuel Usage', value: fuelUsageText, inline: true}, {name: 'Dirt Interval', value: dirtIntervalText, inline: true}, ).setFooter({text: 'Last updated'}).setTimestamp()] diff --git a/src/funcs/ResponseModule.ts b/src/funcs/ResponseModule.ts index b03ddf3..ea27a31 100644 --- a/src/funcs/ResponseModule.ts +++ b/src/funcs/ResponseModule.ts @@ -32,7 +32,7 @@ export default class Response { `Good grief, is it Monday already? Anyways, morning ${PersonnyMcPerson}..`, `This time I can shout! So here we go! 1..2..3\n*inhales*\nMORNING ${PersonnyMcPerson.toUpperCase()}!`, 'Gooooood morning to you!', `Good morning to you! You know what else is good? A segue to our sponsor, breakfast!\nGet started with getting out of the bed and have some breakfast!`, `## Morning ${PersonnyMcPerson}!`, '### Have a wonderful day ahead of you!', `Here, have some pancakes for breakfast, ${PersonnyMcPerson}`, 'Is it Friday yet? This week is getting boring already!', - `You have reached ${FormatDOTY(client.moment.utc().dayOfYear())} day of the year, also good morning to you as well!`, 'Good morning! Have a cookie to start your day with. :cookie:', + `You have reached ${FormatDOTY(Math.floor(client.dayjs().diff(client.dayjs().startOf('year'), 'day', true))+1)} day of the year, also good morning to you as well!`, 'Good morning! Have a cookie to start your day with. :cookie:', 'https://tenor.com/view/rambo-family-rambo-rise-and-shine-wake-up-gif-22012440' ], afternoon: [ diff --git a/src/funcs/YTModule.ts b/src/funcs/YTModule.ts index dd88daf..b7dbb1a 100644 --- a/src/funcs/YTModule.ts +++ b/src/funcs/YTModule.ts @@ -11,7 +11,7 @@ export default async(client:TClient, YTChannelID:string, YTChannelName:string, D await fetch(`https://www.youtube.com/feeds/videos.xml?channel_id=${YTChannelID}`, { signal: AbortSignal.timeout(10000), headers: {'User-Agent':'Daggerbot - Notification/undici'}, - }).then(async xml=>(Data = client.xjs.xml2js(await xml.text(), {compact: true}))); + }).then(async xml=>(Data = new client.fxp.XMLParser({ignoreAttributes: false, transformAttributeName(attributeName){return attributeName.replaceAll('@_','')}}).parse(await xml.text()) as any)); } catch (err) { Logger.forwardToConsole('log', 'YTModule', `Failed to fetch "${YTChannelName}" from YouTube`); } diff --git a/src/helpers/ConfigHelper.ts b/src/helpers/ConfigHelper.ts new file mode 100644 index 0000000..d81b691 --- /dev/null +++ b/src/helpers/ConfigHelper.ts @@ -0,0 +1,15 @@ +import {readFileSync} from 'node:fs'; +import {Config} from '../typings/interfaces'; +export default class ConfigHelper { + static loadConfig(configFile:string) { + let importconfig:Config; + try { + importconfig = JSON.parse(readFileSync(configFile, 'utf8')); + console.log(`Using development config :: ${importconfig.configName}`); + } catch (e) { + console.error(`Error loading config file "${configFile}": ${e}`); + process.exit(1); + } + return importconfig; + } +} \ No newline at end of file diff --git a/src/helpers/Logger.ts b/src/helpers/Logger.ts index b340877..cd19a4c 100644 --- a/src/helpers/Logger.ts +++ b/src/helpers/Logger.ts @@ -1,8 +1,8 @@ -import moment from 'moment'; +import dayjs from 'dayjs'; export default class Logger { static logTime() { - return `[${moment().format('DD/MM/YY HH:mm:ss')}]`; + return `[${dayjs().format('DD/MM/YY HH:mm:ss')}]`; } static logPrefix(prefix:string) { return `[${prefix}]`; diff --git a/src/helpers/MessageTool.ts b/src/helpers/MessageTool.ts index 6dca941..c0b4f74 100644 --- a/src/helpers/MessageTool.ts +++ b/src/helpers/MessageTool.ts @@ -5,12 +5,6 @@ const config:Config = JSON.parse(readFileSync('src/config.json', 'utf8')); type RoleKeys = keyof typeof config.mainServer.roles; export default class MessageTool { - static embedMusic(color:Discord.ColorResolvable, title:string, thumbnail?:string, footer?:string){ - const embed = new Discord.EmbedBuilder().setColor(color).setTitle(title); - if (thumbnail) embed.setThumbnail(thumbnail); - if (footer) embed.setFooter({text: footer}); - return embed - } static embedStruct(color:Discord.ColorResolvable, title:string, description?:string|null, image?:string|null){ const embed = new Discord.EmbedBuilder().setColor(color).setTitle(title); if (description) embed.setDescription(description); diff --git a/src/helpers/TSClient.ts b/src/helpers/TSClient.ts index 486b133..b4a67c8 100644 --- a/src/helpers/TSClient.ts +++ b/src/helpers/TSClient.ts @@ -2,11 +2,7 @@ interface TokenService_API { main: string, mongodb_uri: string, redis_uri: string, - octokit: string, - spotify: { - client: string, - secret: string - } + octokit: string } export default class TSClient { diff --git a/src/index.ts b/src/index.ts index ae1d0bf..51131ae 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,10 +5,7 @@ client.init(); import Logger from './helpers/Logger.js'; import YTModule from './funcs/YTModule.js'; import MPModule from './funcs/MPModule.js'; -import {Player} from 'discord-player'; -const player = Player.singleton(client); import {Punishment} from './typings/interfaces'; -import MessageTool from './helpers/MessageTool.js'; import {writeFileSync, readFileSync} from 'node:fs'; // Error handler @@ -22,19 +19,6 @@ process.on('uncaughtException', (error: Error)=>DZ(error, 'uncaughtException')); process.on('error', (error: Error)=>DZ(error, 'nodeError')); client.on('error', (error: Error)=>DZ(error, 'clientError')); -// Audio Player event handling -if (client.config.botSwitches.music){ - player.events.on('playerStart', (queue,track)=>queue.channel.send({embeds:[MessageTool.embedMusic(client.config.embedColor, `Next up: ${track.raw.title} - ${track.raw.author}`,track.raw.thumbnail)]})); - player.events.on('audioTrackAdd', (queue,track)=>queue.channel.send({embeds:[MessageTool.embedMusic(client.config.embedColorGreen, `Added: ${track.raw.title} - ${track.raw.author}`,track.raw.thumbnail)]})); - player.events.on('audioTrackRemove', (queue, track)=>queue.channel.send({embeds:[MessageTool.embedMusic(client.config.embedColor, `Removed: ${track.raw.title} - ${track.raw.author}`,track.raw.thumbnail)]})); - player.events.on('emptyQueue', queue=>{ - if (queue.tracks.size < 1) return queue.channel.send('There\'s no songs left in the queue, leaving voice channel in 15 seconds.').then(()=>setTimeout(()=>queue.connection.disconnect(), 15000)) - }); - player.events.on('playerPause', queue=>queue.channel.send({embeds:[MessageTool.embedMusic(client.config.embedColor, 'Player has been paused.\nRun the command to unpause it')]})); - player.events.on('playerError', (_, error)=>DZ(error, 'playerError')); // I don't know if both of these actually works, because most - player.events.on('error', (_, error)=>DZ(error, 'playerInternalError')); // errors from the player is coming from unhandledRejection -} - // YouTube Upload notification and MP loop if (client.config.botSwitches.mpstats) setInterval(async()=>{ const serverlake = (await client.MPServer.findInCache(client.config.mainServer.id)); diff --git a/src/typings/interfaces.d.ts b/src/typings/interfaces.d.ts index 42ec60e..9411ce5 100644 --- a/src/typings/interfaces.d.ts +++ b/src/typings/interfaces.d.ts @@ -53,65 +53,61 @@ export interface FSPlayer { } export interface FSCareerSavegame { settings: { - savegameName: XMLText, - creationDate: XMLText, - mapId: XMLText, - mapTitle: XMLText, - saveDataFormatted: XMLText, - saveDate: XMLText, - resetVehicles: XMLText, - trafficeEnabled: XMLText, - stopAndGoBraking: XMLText, - trailerFillLimit: XMLText, - automaticMotorStartEnabled: XMLText, - growthMode: XMLText, - fixedSeasonalVisuals: XMLText, - plannedDaysPerPeriod: XMLText, - fruitDestruction: XMLText, - plowingRequiredEnabled: XMLText, - stonesEnabled: XMLText, - weedsEnabled: XMLText, - limeRequired: XMLText, - isSnowEnabled: XMLText, - fuelUsage: XMLText, - helperBuyFuel: XMLText, - helperBuySeeds: XMLText, - helperSlurrySource: XMLText, - helperManureSource: XMLText, - densityMapRevision: XMLText, - terrainTextureRevision: XMLText, - terrainLodTextureRevision: XMLText, - splitShapesRevision: XMLText, - tipCollisionRevision: XMLText, - placementCollisionRevision: XMLText, - navigationCollisionRevision: XMLText, - mapDensityMapRevision: XMLText, - mapTerrainTextureRevision: XMLText, - mapTerrainLodTextureRevision: XMLText, - mapSplitShapesRevision: XMLText, - mapTipCollisionRevision: XMLText, - mapPlacementCollisionRevision: XMLText, - mapNavigationCollisionRevision: XMLText, - difficulty: XMLText, - economicDifficulty: XMLText, - dirtInterval: XMLText, - timeScale: XMLText, - autoSaveInterval: XMLText + savegameName: string, + creationDate: string, + mapId: string, + mapTitle: string, + saveDataFormatted: string, + saveDate: string, + resetVehicles: string, + trafficeEnabled: string, + stopAndGoBraking: string, + trailerFillLimit: string, + automaticMotorStartEnabled: string, + growthMode: string, + fixedSeasonalVisuals: string, + plannedDaysPerPeriod: string, + fruitDestruction: string, + plowingRequiredEnabled: string, + stonesEnabled: string, + weedsEnabled: string, + limeRequired: string, + isSnowEnabled: string, + fuelUsage: string, + helperBuyFuel: string, + helperBuySeeds: string, + helperSlurrySource: string, + helperManureSource: string, + densityMapRevision: string, + terrainTextureRevision: string, + terrainLodTextureRevision: string, + splitShapesRevision: string, + tipCollisionRevision: string, + placementCollisionRevision: string, + navigationCollisionRevision: string, + mapDensityMapRevision: string, + mapTerrainTextureRevision: string, + mapTerrainLodTextureRevision: string, + mapSplitShapesRevision: string, + mapTipCollisionRevision: string, + mapPlacementCollisionRevision: string, + mapNavigationCollisionRevision: string, + difficulty: string, + economicDifficulty: string, + dirtInterval: string, + timeScale: string, + autoSaveInterval: string }, statistics: { - money: XMLText, - playTime: XMLText + money: string, + playTime: string }, slotSystem: { - _attributes: { - slotUsage: string - } + slotUsage: string } } -interface XMLText { - _text: string -} export interface Config { + configName: string, embedColor: Discord.ColorResolvable, embedColorGreen: Discord.ColorResolvable, embedColorOrange: Discord.ColorResolvable, @@ -136,7 +132,6 @@ export interface Config { registerCommands: boolean, commands: boolean, logs: boolean, - music: boolean, buttonRoles: boolean, automod: boolean, mpstats: boolean, diff --git a/yarn.lock b/yarn.lock index c4cbf97..a7437b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,52 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@discord-player/equalizer@npm:^0.2.3": - version: 0.2.3 - resolution: "@discord-player/equalizer@npm:0.2.3" - checksum: 6f60c41b483253c647d79d18a4b94ed413281aa38af190b62fc8cd4c11feb1ea84a6662dbb08922cdb9000e32dee78ac5cb13c4f9a47711890e5a9ebb24e9f08 - languageName: node - linkType: hard - -"@discord-player/extractor@npm:4.4.4": - version: 4.4.4 - resolution: "@discord-player/extractor@npm:4.4.4" - dependencies: - file-type: ^16.5.4 - genius-lyrics: ^4.4.6 - isomorphic-unfetch: ^4.0.2 - node-html-parser: ^6.1.4 - reverbnation-scraper: ^2.0.0 - soundcloud.ts: ^0.5.2 - spotify-url-info: ^3.2.6 - youtube-sr: ^4.3.4 - checksum: 1a12c735766404baa42b6a06f1eda0d5d264dd66b021e10ee97d688dbaa39165c3b73d02b7f2c8ca02ce4a198fa639a30df2197cf6143acec69ff57213babd0f - languageName: node - linkType: hard - -"@discord-player/ffmpeg@npm:^0.1.0": - version: 0.1.0 - resolution: "@discord-player/ffmpeg@npm:0.1.0" - checksum: 95653c0f7888799657ab0268f3e5f53ed910d12b56dbd7b280f8f7a27a492d4a9324c60ae76a450e37f61daca5581ef185216fed828b0317c92bfa4b236561a3 - languageName: node - linkType: hard - -"@discord-player/opus@npm:^0.1.2": - version: 0.1.2 - resolution: "@discord-player/opus@npm:0.1.2" - checksum: 41ceb8f64e5ee071789ca0042445664a02a62b5184b0e652f86c3851f4785c324cd2b3223791d690f6dcf33c6d0e7e5b20a88fb75781a3d96645558ec1cbcc19 - languageName: node - linkType: hard - -"@discord-player/utils@npm:^0.2.2": - version: 0.2.2 - resolution: "@discord-player/utils@npm:0.2.2" - dependencies: - "@discordjs/collection": ^1.1.0 - checksum: 1e82767fa6e0f21e26ee5747b74841589a0dffd6f761233effa0f6380683c975ca40a7089e3dd232854a5c958bb30d8a3ed2e47b1a2cbb42d3fb3717a28b7ac1 - languageName: node - linkType: hard - "@discordjs/builders@npm:^1.6.5": version: 1.6.5 resolution: "@discordjs/builders@npm:1.6.5" @@ -66,13 +20,6 @@ __metadata: languageName: node linkType: hard -"@discordjs/collection@npm:^1.1.0": - version: 1.5.2 - resolution: "@discordjs/collection@npm:1.5.2" - checksum: bf51b951c75c1622f78db4ab48382dc36ef62d264ebf3add07b4a29bef74e84ee1ca65b74e8cf3c9c16eef435dcf05c35465b32642bc7c0bac6872e226d100a7 - languageName: node - linkType: hard - "@discordjs/collection@npm:^1.5.3": version: 1.5.3 resolution: "@discordjs/collection@npm:1.5.3" @@ -89,35 +36,6 @@ __metadata: languageName: node linkType: hard -"@discordjs/node-pre-gyp@npm:^0.4.5": - version: 0.4.5 - resolution: "@discordjs/node-pre-gyp@npm:0.4.5" - dependencies: - detect-libc: ^2.0.0 - https-proxy-agent: ^5.0.0 - make-dir: ^3.1.0 - node-fetch: ^2.6.7 - nopt: ^5.0.0 - npmlog: ^5.0.1 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.11 - bin: - node-pre-gyp: bin/node-pre-gyp - checksum: 60ba7bfdb9e002ff6ff47086312ca446e97b2dfa695a581a1b49eb94d2c716ad509166d97b66b76096d8fd33b9aaa4bb88dad083980821b7691aa55ebccdb5e4 - languageName: node - linkType: hard - -"@discordjs/opus@npm:0.9.0": - version: 0.9.0 - resolution: "@discordjs/opus@npm:0.9.0" - dependencies: - "@discordjs/node-pre-gyp": ^0.4.5 - node-addon-api: ^5.0.0 - checksum: 1bb17efcece86b5d0f025dcb301e87a01c50db3267776b608cc103e3f6fbbb0b0ea4e61dcb5700fbeb27039b50c771db9efc1b7af628b9c2329120f497e1c20e - languageName: node - linkType: hard - "@discordjs/rest@npm:^2.0.1": version: 2.0.1 resolution: "@discordjs/rest@npm:2.0.1" @@ -440,13 +358,6 @@ __metadata: languageName: node linkType: hard -"@tokenizer/token@npm:^0.3.0": - version: 0.3.0 - resolution: "@tokenizer/token@npm:0.3.0" - checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -475,10 +386,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.8.2": - version: 20.8.2 - resolution: "@types/node@npm:20.8.2" - checksum: 3da73e25d821bfcdb7de98589027e08bb4848e55408671c4a83ec0341e124b5313a0b20e1e4b4eff1168ea17a86f622ad73fcb04b761abd77496b9a27cbd5de5 +"@types/node@npm:20.8.3": + version: 20.8.3 + resolution: "@types/node@npm:20.8.3" + checksum: bfb88b341faeb19f8fd37306a3bf433721b876c6491d10fcb0b13fd26601fa36ee45113dd82b1e1c23e3c957dff5b99f81a16493cefa03abe797e41a2487a4f7 languageName: node linkType: hard @@ -630,13 +541,6 @@ __metadata: languageName: node linkType: hard -"boolbase@npm:^1.0.0": - version: 1.0.0 - resolution: "boolbase@npm:1.0.0" - checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 - languageName: node - linkType: hard - "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -663,6 +567,13 @@ __metadata: languageName: node linkType: hard +"bson@npm:^5.5.0": + version: 5.5.0 + resolution: "bson@npm:5.5.0" + checksum: 61afd240dfcaaa07346c3278d42586606b4c09bd8dcf865f6d79e26ee9cf3d6b140b8347257c598f65340e26ba640f96f6a3b9b6ff2baef963a1d321fc4c281e + languageName: node + linkType: hard + "busboy@npm:^1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -775,60 +686,33 @@ __metadata: languageName: node linkType: hard -"css-select@npm:^5.1.0": - version: 5.1.0 - resolution: "css-select@npm:5.1.0" - dependencies: - boolbase: ^1.0.0 - css-what: ^6.1.0 - domhandler: ^5.0.2 - domutils: ^3.0.1 - nth-check: ^2.0.1 - checksum: 2772c049b188d3b8a8159907192e926e11824aea525b8282981f72ba3f349cf9ecd523fdf7734875ee2cb772246c22117fc062da105b6d59afe8dcd5c99c9bda - languageName: node - linkType: hard - -"css-what@npm:^6.1.0": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe - languageName: node - linkType: hard - "daggerbot-ts@workspace:.": version: 0.0.0-use.local resolution: "daggerbot-ts@workspace:." dependencies: - "@discord-player/extractor": 4.4.4 - "@discordjs/opus": 0.9.0 "@octokit/auth-token": 4.0.0 "@octokit/rest": 20.0.2 "@types/ms": 0.7.32 - "@types/node": 20.8.2 + "@types/node": 20.8.3 "@types/node-cron": 3.0.9 ansi-colors: 4.1.3 canvas: 2.11.2 - discord-player: 6.6.4 + dayjs: 1.11.10 discord.js: 14.13.0 - libsodium-wrappers: 0.7.13 - moment: 2.29.4 - mongoose: 7.5.4 + fast-xml-parser: 4.3.2 + mongoose: 7.6.0 ms: 2.1.3 node-cron: 3.0.2 - prism-media: 1.3.5 redis: 4.6.10 - systeminformation: 5.21.10 + systeminformation: 5.21.11 typescript: 5.2.2 - xml-js: 1.6.11 - youtube-sr: 4.3.4 - ytdl-core: 4.11.5 languageName: unknown linkType: soft -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c +"dayjs@npm:1.11.10": + version: 1.11.10 + resolution: "dayjs@npm:1.11.10" + checksum: a6b5a3813b8884f5cd557e2e6b7fa569f4c5d0c97aca9558e38534af4f2d60daafd3ff8c2000fed3435cfcec9e805bcebd99f90130c6d1c5ef524084ced588c4 languageName: node linkType: hard @@ -888,46 +772,6 @@ __metadata: languageName: node linkType: hard -"discord-api-types@npm:^0.37.50": - version: 0.37.56 - resolution: "discord-api-types@npm:0.37.56" - checksum: 797be690af70a846422f955d918a5713a2c8c37bea646e2120996522afbb47fc5893122c1ddcb8f57a285ace6e1fb0237d1e63105444ae52534f0570a2f87f34 - languageName: node - linkType: hard - -"discord-player@npm:6.6.4": - version: 6.6.4 - resolution: "discord-player@npm:6.6.4" - dependencies: - "@discord-player/equalizer": ^0.2.3 - "@discord-player/ffmpeg": ^0.1.0 - "@discord-player/utils": ^0.2.2 - discord-voip: ^0.1.3 - ip: ^1.1.8 - libsodium-wrappers: ^0.7.10 - peerDependencies: - "@discord-player/extractor": ^4.4.4 - discord.js: 14.x - youtube-sr: 4.x - checksum: 91e613faef9145e833f181799337169dd84abdf425a82c19735274721d821d23aec749cb88453fb45cf4ec24fe7257087f43148d843e69327bfb58de5401dc7f - languageName: node - linkType: hard - -"discord-voip@npm:^0.1.3": - version: 0.1.3 - resolution: "discord-voip@npm:0.1.3" - dependencies: - "@discord-player/ffmpeg": ^0.1.0 - "@discord-player/opus": ^0.1.2 - "@types/ws": ^8.5.5 - discord-api-types: ^0.37.50 - prism-media: ^1.3.5 - tslib: ^2.6.1 - ws: ^8.13.0 - checksum: 9dd87e18713a90bec80050ab3c1e61c4e14fe99653040cdfae3841da976efc7ed4a569d4690b35a63a96a6cc30aa756a650a9e6048d1678f2854bf116aef0ca8 - languageName: node - linkType: hard - "discord.js@npm:14.13.0": version: 14.13.0 resolution: "discord.js@npm:14.13.0" @@ -950,44 +794,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:^2.0.0": - version: 2.0.0 - resolution: "dom-serializer@npm:2.0.0" - dependencies: - domelementtype: ^2.3.0 - domhandler: ^5.0.2 - entities: ^4.2.0 - checksum: cd1810544fd8cdfbd51fa2c0c1128ec3a13ba92f14e61b7650b5de421b88205fd2e3f0cc6ace82f13334114addb90ed1c2f23074a51770a8e9c1273acbc7f3e6 - languageName: node - linkType: hard - -"domelementtype@npm:^2.3.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 - languageName: node - linkType: hard - -"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": - version: 5.0.3 - resolution: "domhandler@npm:5.0.3" - dependencies: - domelementtype: ^2.3.0 - checksum: 0f58f4a6af63e6f3a4320aa446d28b5790a009018707bce2859dcb1d21144c7876482b5188395a188dfa974238c019e0a1e610d2fc269a12b2c192ea2b0b131c - languageName: node - linkType: hard - -"domutils@npm:^3.0.1": - version: 3.1.0 - resolution: "domutils@npm:3.1.0" - dependencies: - dom-serializer: ^2.0.0 - domelementtype: ^2.3.0 - domhandler: ^5.0.3 - checksum: e5757456ddd173caa411cfc02c2bb64133c65546d2c4081381a3bafc8a57411a41eed70494551aa58030be9e58574fcc489828bebd673863d39924fb4878f416 - languageName: node - linkType: hard - "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -1018,13 +824,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 853f8ebd5b425d350bffa97dd6958143179a5938352ccae092c62d1267c4e392a039be1bae7d51b6e4ffad25f51f9617531fedf5237f15df302ccfb452cbf2d7 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -1053,24 +852,14 @@ __metadata: languageName: node linkType: hard -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" +"fast-xml-parser@npm:4.3.2": + version: 4.3.2 + resolution: "fast-xml-parser@npm:4.3.2" dependencies: - node-domexception: ^1.0.0 - web-streams-polyfill: ^3.0.3 - checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf - languageName: node - linkType: hard - -"file-type@npm:^16.5.4": - version: 16.5.4 - resolution: "file-type@npm:16.5.4" - dependencies: - readable-web-to-node-stream: ^3.0.0 - strtok3: ^6.2.4 - token-types: ^4.1.1 - checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: d507ce2efa5fd13d0a5ba28bd76dd68f2fc30ad8748357c37b70f360d19417866d79e35a688af067d5bceaaa796033fa985206aef9692f7a421e1326b6e73309 languageName: node linkType: hard @@ -1084,15 +873,6 @@ __metadata: languageName: node linkType: hard -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: ^3.1.2 - checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -1158,16 +938,6 @@ __metadata: languageName: node linkType: hard -"genius-lyrics@npm:^4.4.6": - version: 4.4.6 - resolution: "genius-lyrics@npm:4.4.6" - dependencies: - node-html-parser: ^6.1.9 - undici: ^5.24.0 - checksum: 05a7420c7548badce414cd3cb45f4ba9822d951f8b7ed0d9b1b546cf5117847f9e17d8453db883d56e6cba745401da3d7de81cc6a625d54b313cef95e5f0c259 - languageName: node - linkType: hard - "glob@npm:^10.2.2": version: 10.3.3 resolution: "glob@npm:10.3.3" @@ -1211,22 +981,6 @@ __metadata: languageName: node linkType: hard -"he@npm:1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7 - languageName: node - linkType: hard - -"himalaya@npm:~1.1.0": - version: 1.1.0 - resolution: "himalaya@npm:1.1.0" - checksum: b07c165e78b22f031515de61d82c97702e8552ba1c4748fde60a97973178d2e380b9eb75dea602bbcc9c2eb1ca2948e125aac6c1f3bfc9f56b92b09df8124af3 - languageName: node - linkType: hard - "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -1273,13 +1027,6 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -1311,13 +1058,6 @@ __metadata: languageName: node linkType: hard -"ip@npm:^1.1.8": - version: 1.1.8 - resolution: "ip@npm:1.1.8" - checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb - languageName: node - linkType: hard - "ip@npm:^2.0.0": version: 2.0.0 resolution: "ip@npm:2.0.0" @@ -1353,16 +1093,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-unfetch@npm:^4.0.2": - version: 4.0.2 - resolution: "isomorphic-unfetch@npm:4.0.2" - dependencies: - node-fetch: ^3.2.0 - unfetch: ^5.0.0 - checksum: a5c22569f18a897c333aa2d7c0042214e1d26fc502b7b7dd451aca81f34a56557cb48faf63a3ad5c6534d610c043ef36b9e999211a2c0665eabdca9e9c86e398 - languageName: node - linkType: hard - "jackspeak@npm:^2.0.3": version: 2.2.2 resolution: "jackspeak@npm:2.2.2" @@ -1383,38 +1113,6 @@ __metadata: languageName: node linkType: hard -"libsodium-wrappers@npm:0.7.13": - version: 0.7.13 - resolution: "libsodium-wrappers@npm:0.7.13" - dependencies: - libsodium: ^0.7.13 - checksum: d184395f7c33023414b191ef9ea2171eb1a5cb061503e886ea877590cb7adc3a4feaf794b9b08731a20515518fa23dbf1c1bfcd376e5ab01728e95cf1cb7525a - languageName: node - linkType: hard - -"libsodium-wrappers@npm:^0.7.10": - version: 0.7.11 - resolution: "libsodium-wrappers@npm:0.7.11" - dependencies: - libsodium: ^0.7.11 - checksum: 6a6ef47b2213e3fb4687196c28fee4c9885f70d89547d845e62d96014d3d5ad9f59cb05fadc601debc0031a3cfd0b9b416d7efbeb5bf66db6aa0ed69f55a6293 - languageName: node - linkType: hard - -"libsodium@npm:^0.7.11": - version: 0.7.11 - resolution: "libsodium@npm:0.7.11" - checksum: 0a3493ac1829d1e346178b6984c4eb449dc77157c906876441386c0c653142e3fa56f623ce980bb50e580196578689298c9cd406ce6d514904090e370c6bc0f7 - languageName: node - linkType: hard - -"libsodium@npm:^0.7.13": - version: 0.7.13 - resolution: "libsodium@npm:0.7.13" - checksum: 75a5f70e84c197d54d9b67dcbd852abbd41cca8facd510767c7c8400a52a23da293e83eebf1693831b2c0c0498f266bd9350a8c27ec66f46a055890dff758d38 - languageName: node - linkType: hard - "lodash.snakecase@npm:^4.1.1": version: 4.1.1 resolution: "lodash.snakecase@npm:4.1.1" @@ -1452,16 +1150,6 @@ __metadata: languageName: node linkType: hard -"m3u8stream@npm:^0.8.6": - version: 0.8.6 - resolution: "m3u8stream@npm:0.8.6" - dependencies: - miniget: ^4.2.2 - sax: ^1.2.4 - checksum: b8f61c1101dd3ad873ff2f3d0e9e6a5139ad17e20990b89ae67f2585043bc2b727151ed85f3e58aabc8a1a95af28e1ee26f69af6ac9e8841ff68129eae2f5ac5 - languageName: node - linkType: hard - "magic-bytes.js@npm:^1.0.15": version: 1.0.15 resolution: "magic-bytes.js@npm:1.0.15" @@ -1515,13 +1203,6 @@ __metadata: languageName: node linkType: hard -"miniget@npm:^4.2.2": - version: 4.2.3 - resolution: "miniget@npm:4.2.3" - checksum: c2db18570b4dc6771a6824993f9a33360b02ef92173bf38a5d772f27640f4f493153f73da1b28700c2b55cb7526321446ce2f326c667ad671fb78c8998c1402f - languageName: node - linkType: hard - "minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -1633,13 +1314,6 @@ __metadata: languageName: node linkType: hard -"moment@npm:2.29.4": - version: 2.29.4 - resolution: "moment@npm:2.29.4" - checksum: 0ec3f9c2bcba38dc2451b1daed5daded747f17610b92427bebe1d08d48d8b7bdd8d9197500b072d14e326dd0ccf3e326b9e3d07c5895d3d49e39b6803b76e80e - languageName: node - linkType: hard - "mongodb-connection-string-url@npm:^2.6.0": version: 2.6.0 resolution: "mongodb-connection-string-url@npm:2.6.0" @@ -1650,12 +1324,12 @@ __metadata: languageName: node linkType: hard -"mongodb@npm:5.8.1": - version: 5.8.1 - resolution: "mongodb@npm:5.8.1" +"mongodb@npm:5.9.0": + version: 5.9.0 + resolution: "mongodb@npm:5.9.0" dependencies: "@mongodb-js/saslprep": ^1.1.0 - bson: ^5.4.0 + bson: ^5.5.0 mongodb-connection-string-url: ^2.6.0 socks: ^2.7.1 peerDependencies: @@ -1678,22 +1352,22 @@ __metadata: optional: true snappy: optional: true - checksum: da8fc05952266f9b636000d74e6c8889306fc287922651526029a61ede3c75f793edb504a02c1f64fec9fea9aa17323bf95eb4902776778a1def5eba07b32b72 + checksum: 5fb828d6503b7291c0bcc984ed35bdd0e2f166cd9d637a5ff9e8c2e497ef6260eea5a3f700f2850200cd8108057c858f96e37394ed2953aff3b85fe760bbd777 languageName: node linkType: hard -"mongoose@npm:7.5.4": - version: 7.5.4 - resolution: "mongoose@npm:7.5.4" +"mongoose@npm:7.6.0": + version: 7.6.0 + resolution: "mongoose@npm:7.6.0" dependencies: bson: ^5.4.0 kareem: 2.5.1 - mongodb: 5.8.1 + mongodb: 5.9.0 mpath: 0.9.0 mquery: 5.0.0 ms: 2.1.3 sift: 16.0.1 - checksum: e888bc5e47c7c3f0158dd93c18efedc15a7dbaa7c7c599e38aa4fccf00514280af02ae8cb40e91190d5cff8822a78c3cfd15adfd309094a3a7b3ca5ba3c6fb03 + checksum: 5178fdc1c8ec5158bdeb16a100c8a47a1866276b7ac4406ca5d3c0bf4fbf3e27fd5e69b86e0bf5cb8bbeca40a119fff4d4bb1852f0bf18292949493e43cbb8d5 languageName: node linkType: hard @@ -1743,15 +1417,6 @@ __metadata: languageName: node linkType: hard -"node-addon-api@npm:^5.0.0": - version: 5.1.0 - resolution: "node-addon-api@npm:5.1.0" - dependencies: - node-gyp: latest - checksum: 2508bd2d2981945406243a7bd31362fc7af8b70b8b4d65f869c61731800058fb818cc2fd36c8eac714ddd0e568cc85becf5e165cebbdf7b5024d5151bbc75ea1 - languageName: node - linkType: hard - "node-cron@npm:3.0.2": version: 3.0.2 resolution: "node-cron@npm:3.0.2" @@ -1761,14 +1426,7 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.7": version: 2.6.12 resolution: "node-fetch@npm:2.6.12" dependencies: @@ -1782,17 +1440,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^3.2.0": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: ^4.0.0 - fetch-blob: ^3.1.4 - formdata-polyfill: ^4.0.10 - checksum: 06a04095a2ddf05b0830a0d5302699704d59bda3102894ea64c7b9d4c865ecdff2d90fd042df7f5bc40337266961cb6183dcc808ea4f3000d024f422b462da92 - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 9.4.0 resolution: "node-gyp@npm:9.4.0" @@ -1814,26 +1461,6 @@ __metadata: languageName: node linkType: hard -"node-html-parser@npm:^6.1.4": - version: 6.1.5 - resolution: "node-html-parser@npm:6.1.5" - dependencies: - css-select: ^5.1.0 - he: 1.2.0 - checksum: b54257b31954be17d473c86a2fede53d5e238708f3d88577c98881c28ab66013fd37044903f6f3cd662b56d882681fb511bca75a80a80b62f7111b32b39eebae - languageName: node - linkType: hard - -"node-html-parser@npm:^6.1.9": - version: 6.1.10 - resolution: "node-html-parser@npm:6.1.10" - dependencies: - css-select: ^5.1.0 - he: 1.2.0 - checksum: 927f6a38b3b1cbc042bce609e24fb594d3b1e0f1067ffb416a925fa5a699e907be31980f349e094d55bab706dc16a71958b08f8dcdab62faf7b12013f29442bc - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -1880,15 +1507,6 @@ __metadata: languageName: node linkType: hard -"nth-check@npm:^2.0.1": - version: 2.1.1 - resolution: "nth-check@npm:2.1.1" - dependencies: - boolbase: ^1.0.0 - checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 - languageName: node - linkType: hard - "object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -1938,34 +1556,6 @@ __metadata: languageName: node linkType: hard -"peek-readable@npm:^4.1.0": - version: 4.1.0 - resolution: "peek-readable@npm:4.1.0" - checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab - languageName: node - linkType: hard - -"prism-media@npm:1.3.5, prism-media@npm:^1.3.5": - version: 1.3.5 - resolution: "prism-media@npm:1.3.5" - peerDependencies: - "@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 - peerDependenciesMeta: - "@discordjs/opus": - optional: true - ffmpeg-static: - optional: true - node-opus: - optional: true - opusscript: - optional: true - checksum: a4fbe5c91f2aa5aca6e0d7fb72c37627db814f59b2ffd702aced11d4cc6f6f15022a5830df48fc008e805f2d1fe79305e5d1b091307981a0083edf7223418679 - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -1994,15 +1584,6 @@ __metadata: languageName: node linkType: hard -"readable-web-to-node-stream@npm:^3.0.0": - version: 3.0.2 - resolution: "readable-web-to-node-stream@npm:3.0.2" - dependencies: - readable-stream: ^3.6.0 - checksum: 8c56cc62c68513425ddfa721954875b382768f83fa20e6b31e365ee00cbe7a3d6296f66f7f1107b16cd3416d33aa9f1680475376400d62a081a88f81f0ea7f9c - languageName: node - linkType: hard - "redis@npm:4.6.10": version: 4.6.10 resolution: "redis@npm:4.6.10" @@ -2024,15 +1605,6 @@ __metadata: languageName: node linkType: hard -"reverbnation-scraper@npm:^2.0.0": - version: 2.0.0 - resolution: "reverbnation-scraper@npm:2.0.0" - dependencies: - node-fetch: ^2.6.0 - checksum: 4d8f609a0b32de55d725def6f96c049bef8fab273db5853689a76a994399c5b5df8a38f4a85c2b07bda3d47976762a7b407bc7b58bbccb4d86eace1215fcdf68 - languageName: node - linkType: hard - "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -2058,13 +1630,6 @@ __metadata: languageName: node linkType: hard -"sax@npm:^1.1.3, sax@npm:^1.2.4": - version: 1.2.4 - resolution: "sax@npm:1.2.4" - checksum: d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe - languageName: node - linkType: hard - "semver@npm:^6.0.0": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -2175,15 +1740,6 @@ __metadata: languageName: node linkType: hard -"soundcloud.ts@npm:^0.5.2": - version: 0.5.2 - resolution: "soundcloud.ts@npm:0.5.2" - dependencies: - undici: ^5.22.1 - checksum: 6abd85b629625b9d80adbf628b8c302ddb4fdfdef97ee5de951bc565cc0bbeb10133b645eb38ffdd55f320d6b8fa347e26c3e2457485c5d4816c072dbde61c66 - languageName: node - linkType: hard - "sparse-bitfield@npm:^3.0.3": version: 3.0.3 resolution: "sparse-bitfield@npm:3.0.3" @@ -2193,23 +1749,6 @@ __metadata: languageName: node linkType: hard -"spotify-uri@npm:~4.0.0": - version: 4.0.0 - resolution: "spotify-uri@npm:4.0.0" - checksum: 272e1692a750a8509625bc3caeebc14b2424b6f63ab664cb018edcc0dacd181bd234d38daa9b7fd0f449c7a650a13b7904cc9a783e048bb94da0ad63f264731a - languageName: node - linkType: hard - -"spotify-url-info@npm:^3.2.6": - version: 3.2.6 - resolution: "spotify-url-info@npm:3.2.6" - dependencies: - himalaya: ~1.1.0 - spotify-uri: ~4.0.0 - checksum: 4101df615b63307478a41375696ea188402116ce6e49193e1b930ca4f8046fd1246c6ef3db9b9138580c31850636e290cbf9bb7dc6099148702820bb23215d2c - languageName: node - linkType: hard - "ssri@npm:^10.0.0": version: 10.0.4 resolution: "ssri@npm:10.0.4" @@ -2275,22 +1814,19 @@ __metadata: languageName: node linkType: hard -"strtok3@npm:^6.2.4": - version: 6.3.0 - resolution: "strtok3@npm:6.3.0" - dependencies: - "@tokenizer/token": ^0.3.0 - peek-readable: ^4.1.0 - checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 languageName: node linkType: hard -"systeminformation@npm:5.21.10": - version: 5.21.10 - resolution: "systeminformation@npm:5.21.10" +"systeminformation@npm:5.21.11": + version: 5.21.11 + resolution: "systeminformation@npm:5.21.11" bin: systeminformation: lib/cli.js - checksum: a63dce32d3d05a383f1639a22a936dc91a700dae6821c49a2f1d072814e0bdc4f6d12a63f64200dfbc0f2a3b1edbe5945a30b345cd99a38e41084f166fa26513 + checksum: d0df9cae22ce494fb63d8eda88c7463f792813269acf67082222c18a534867809cfebe45a59b798df62b069259b8119b6cb6a951f194f324a071f4762d459547 conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android) languageName: node linkType: hard @@ -2309,16 +1845,6 @@ __metadata: languageName: node linkType: hard -"token-types@npm:^4.1.1": - version: 4.2.1 - resolution: "token-types@npm:4.2.1" - dependencies: - "@tokenizer/token": ^0.3.0 - ieee754: ^1.2.1 - checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 - languageName: node - linkType: hard - "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -2378,31 +1904,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^5.22.1": - version: 5.23.0 - resolution: "undici@npm:5.23.0" - dependencies: - busboy: ^1.6.0 - checksum: 906ca4fb1d47163d2cee2ecbbc664a1d92508a2cdf1558146621109f525c983a83597910b36e6ba468240e95259be5939cea6babc99fc0c36360b16630f66784 - languageName: node - linkType: hard - -"undici@npm:^5.24.0": - version: 5.24.0 - resolution: "undici@npm:5.24.0" - dependencies: - busboy: ^1.6.0 - checksum: 0795b69e0f7e1b2b162bce0d1670e6b44c968960e519f5b450df5196fd9c5102e0838ed854e68e61588f3c2436a3dc3d4390f9bf4a24b04eeb03926fe0eaa599 - languageName: node - linkType: hard - -"unfetch@npm:^5.0.0": - version: 5.0.0 - resolution: "unfetch@npm:5.0.0" - checksum: 005133bcdc85cefea60890af4ac265799356b69c6a7719c1330484165af7109c06b9eedd3e03d620c14dcc8b43bcf329148f4c1f06016390162f845e0d0a62c5 - languageName: node - linkType: hard - "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -2444,13 +1945,6 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.2.1 - resolution: "web-streams-polyfill@npm:3.2.1" - checksum: b119c78574b6d65935e35098c2afdcd752b84268e18746606af149e3c424e15621b6f1ff0b42b2676dc012fc4f0d313f964b41a4b5031e525faa03997457da02 - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -2549,38 +2043,9 @@ __metadata: languageName: node linkType: hard -"xml-js@npm:1.6.11": - version: 1.6.11 - resolution: "xml-js@npm:1.6.11" - dependencies: - sax: ^1.2.4 - bin: - xml-js: ./bin/cli.js - checksum: 24a55479919413687105fc2d8ab05e613ebedb1c1bc12258a108e07cff5ef793779297db854800a4edf0281303ebd1f177bc4a588442f5344e62b3dddda26c2b - languageName: node - linkType: hard - "yallist@npm:4.0.0, yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 languageName: node linkType: hard - -"youtube-sr@npm:4.3.4, youtube-sr@npm:^4.3.4": - version: 4.3.4 - resolution: "youtube-sr@npm:4.3.4" - checksum: e097f2a82ddc51a580e7b8556aba83968ee580ad29a8d035cbfdc497c4a6f227b3e3ef0bf4648c6edaf25aed18b872a0fad8fda0554d270129f7c5e60e4a01ef - languageName: node - linkType: hard - -"ytdl-core@npm:4.11.5": - version: 4.11.5 - resolution: "ytdl-core@npm:4.11.5" - dependencies: - m3u8stream: ^0.8.6 - miniget: ^4.2.2 - sax: ^1.1.3 - checksum: f81ae907780747c4522198003967da1730af33fb6c8632ed2ba7a3dfb67a3fd1bf73807a68506a5926d209ee2f3305bfb6a633f6829b39ed60694c033c300fa9 - languageName: node - linkType: hard