summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-02-09 21:17:36 +0000
committerYour Name <you@example.com>2026-02-09 21:17:36 +0000
commit79feea69dd05f83f340e295835af6ac0dcd6997b (patch)
tree88da4bce1bc7344f9f9f1a92824b8a0d63e5a64f
parentbc54cdf4471e6a8ef72a484cada30905ff593e28 (diff)
bot working
-rw-r--r--package-lock.json317
-rw-r--r--package.json1
-rw-r--r--pajser-bot.service2
-rw-r--r--src/utils/player.js10
4 files changed, 321 insertions, 9 deletions
diff --git a/package-lock.json b/package-lock.json
index a96bc9c..4e2357a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"dependencies": {
"@discordjs/opus": "^0.10.0",
"@discordjs/voice": "^0.19.0",
+ "@snazzah/davey": "^0.1.9",
"discord.js": "^14.24.2",
"dotenv": "^17.2.3",
"opusscript": "^0.1.1",
@@ -165,13 +166,6 @@
"url": "https://github.com/discordjs/discord.js?sponsor"
}
},
- "node_modules/@discordjs/voice/node_modules/opusscript": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/opusscript/-/opusscript-0.0.8.tgz",
- "integrity": "sha512-VSTi1aWFuCkRCVq+tx/BQ5q9fMnQ9pVZ3JU4UHKqTkf0ED3fKEPdr+gKAAl3IA2hj9rrP6iyq3hlcJq3HELtNQ==",
- "extraneous": true,
- "license": "MIT"
- },
"node_modules/@discordjs/voice/node_modules/prism-media": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.5.tgz",
@@ -233,6 +227,53 @@
"url": "https://github.com/discordjs/discord.js?sponsor"
}
},
+ "node_modules/@emnapi/core": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
+ "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.1.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
+ "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+ "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz",
+ "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.7.1",
+ "@emnapi/runtime": "^1.7.1",
+ "@tybys/wasm-util": "^0.10.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
+ }
+ },
"node_modules/@sapphire/async-queue": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.5.tgz",
@@ -266,6 +307,268 @@
"npm": ">=7.0.0"
}
},
+ "node_modules/@snazzah/davey": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey/-/davey-0.1.9.tgz",
+ "integrity": "sha512-vNZk5y+IsxjwzTAXikvzz5pqMLb35YytC64nVF2MAFVhjpXu9ITOKUriZ0JG/llwzCAi56jb5x0cXDRIyE2A2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/Snazzah"
+ },
+ "optionalDependencies": {
+ "@snazzah/davey-android-arm-eabi": "0.1.9",
+ "@snazzah/davey-android-arm64": "0.1.9",
+ "@snazzah/davey-darwin-arm64": "0.1.9",
+ "@snazzah/davey-darwin-x64": "0.1.9",
+ "@snazzah/davey-freebsd-x64": "0.1.9",
+ "@snazzah/davey-linux-arm-gnueabihf": "0.1.9",
+ "@snazzah/davey-linux-arm64-gnu": "0.1.9",
+ "@snazzah/davey-linux-arm64-musl": "0.1.9",
+ "@snazzah/davey-linux-x64-gnu": "0.1.9",
+ "@snazzah/davey-linux-x64-musl": "0.1.9",
+ "@snazzah/davey-wasm32-wasi": "0.1.9",
+ "@snazzah/davey-win32-arm64-msvc": "0.1.9",
+ "@snazzah/davey-win32-ia32-msvc": "0.1.9",
+ "@snazzah/davey-win32-x64-msvc": "0.1.9"
+ }
+ },
+ "node_modules/@snazzah/davey-android-arm-eabi": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-android-arm-eabi/-/davey-android-arm-eabi-0.1.9.tgz",
+ "integrity": "sha512-Dq0WyeVGBw+uQbisV/6PeCQV2ndJozfhZqiNIfQxu6ehIdXB7iHILv+oY+AQN2n+qxiFmLh/MOX9RF+pIWdPbA==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-android-arm64": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-android-arm64/-/davey-android-arm64-0.1.9.tgz",
+ "integrity": "sha512-OE16OZjv7F/JrD7Mzw5eL2gY2vXRPC8S7ZrmkcMyz/sHHJsGHlT+L7X5s56Bec1YDTVmzAsH4UBuvVBoXuIWEQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-darwin-arm64": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-darwin-arm64/-/davey-darwin-arm64-0.1.9.tgz",
+ "integrity": "sha512-z7oORvAPExikFkH6tvHhbUdZd77MYZp9VqbCpKEiI+sisWFVXgHde7F7iH3G4Bz6gUYJfgvKhWXiDRc+0SC4dg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-darwin-x64": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-darwin-x64/-/davey-darwin-x64-0.1.9.tgz",
+ "integrity": "sha512-f1LzGyRGlM414KpXml3OgWVSd7CgylcdYaFj/zDBb8bvWjxyvsI9iMeuPfe/cduloxRj8dELde/yCDZtFR6PdQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-freebsd-x64": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-freebsd-x64/-/davey-freebsd-x64-0.1.9.tgz",
+ "integrity": "sha512-k6p3JY2b8rD6j0V9Ql7kBUMR4eJdcpriNwiHltLzmtGuz/nK5RGQdkEP68gTLc+Uj3xs5Cy0jRKmv2xJQBR4sA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-linux-arm-gnueabihf": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm-gnueabihf/-/davey-linux-arm-gnueabihf-0.1.9.tgz",
+ "integrity": "sha512-xDaAFUC/1+n/YayNwKsqKOBMuW0KI6F0SjgWU+krYTQTVmAKNjOM80IjemrVoqTpBOxBsT80zEtct2wj11CE3Q==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-linux-arm64-gnu": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm64-gnu/-/davey-linux-arm64-gnu-0.1.9.tgz",
+ "integrity": "sha512-t1VxFBzWExPNpsNY/9oStdAAuHqFvwZvIO2YPYyVNstxfi2KmAbHMweHUW7xb2ppXuhVQZ4VGmmeXiXcXqhPBw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-linux-arm64-musl": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm64-musl/-/davey-linux-arm64-musl-0.1.9.tgz",
+ "integrity": "sha512-Xvlr+nBPzuFV4PXHufddlt08JsEyu0p8mX2DpqdPxdpysYIH4I8V86yJiS4tk04a6pLBDd8IxTbBwvXJKqd/LQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-linux-x64-gnu": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-x64-gnu/-/davey-linux-x64-gnu-0.1.9.tgz",
+ "integrity": "sha512-6Uunc/NxiEkg1reroAKZAGfOtjl1CGa7hfTTVClb2f+DiA8ZRQWBh+3lgkq/0IeL262B4F14X8QRv5Bsv128qw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-linux-x64-musl": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-x64-musl/-/davey-linux-x64-musl-0.1.9.tgz",
+ "integrity": "sha512-fFQ/n3aWt1lXhxSdy+Ge3gi5bR3VETMVsWhH0gwBALUKrbo3ZzgSktm4lNrXE9i0ncMz/CDpZ5i0wt/N3XphEQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-wasm32-wasi": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-wasm32-wasi/-/davey-wasm32-wasi-0.1.9.tgz",
+ "integrity": "sha512-xWvzej8YCVlUvzlpmqJMIf0XmLlHqulKZ2e7WNe2TxQmsK+o0zTZqiQYs2MwaEbrNXBhYlHDkdpuwoXkJdscNQ==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@napi-rs/wasm-runtime": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@snazzah/davey-win32-arm64-msvc": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-arm64-msvc/-/davey-win32-arm64-msvc-0.1.9.tgz",
+ "integrity": "sha512-sTqry/DfltX2OdW1CTLKa3dFYN5FloAEb2yhGsY1i5+Bms6OhwByXfALvyMHYVo61Th2+sD+9BJpQffHFKDA3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-win32-ia32-msvc": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-ia32-msvc/-/davey-win32-ia32-msvc-0.1.9.tgz",
+ "integrity": "sha512-twD3LwlkGnSwphsCtpGb5ztpBIWEvGdc0iujoVkdzZ6nJiq5p8iaLjJMO4hBm9h3s28fc+1Qd7AMVnagiOasnA==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@snazzah/davey-win32-x64-msvc": {
+ "version": "0.1.9",
+ "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-x64-msvc/-/davey-win32-x64-msvc-0.1.9.tgz",
+ "integrity": "sha512-eMnXbv4GoTngWYY538i/qHz2BS+RgSXFsvKltPzKqnqzPzhQZIY7TemEJn3D5yWGfW4qHve9u23rz93FQqnQMA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@types/node": {
"version": "25.2.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.2.tgz",
diff --git a/package.json b/package.json
index 738f8b1..292fd79 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"dependencies": {
"@discordjs/opus": "^0.10.0",
"@discordjs/voice": "^0.19.0",
+ "@snazzah/davey": "^0.1.9",
"discord.js": "^14.24.2",
"dotenv": "^17.2.3",
"opusscript": "^0.1.1",
diff --git a/pajser-bot.service b/pajser-bot.service
index fd6d1ae..0155f21 100644
--- a/pajser-bot.service
+++ b/pajser-bot.service
@@ -6,7 +6,7 @@ After=network.target
Type=simple
User=pajser
WorkingDirectory=/home/pajser/pajser
-ExecStart=/usr/bin/node index.js
+ExecStart=/home/pajser/.nvm/versions/node/v25.6.0/bin/node index.js
Restart=always
RestartSec=10
StandardOutput=journal
diff --git a/src/utils/player.js b/src/utils/player.js
index e521866..7085dae 100644
--- a/src/utils/player.js
+++ b/src/utils/player.js
@@ -33,12 +33,19 @@ async function downloadWithYtDlp(song, options = {}) {
const ytdlp = spawn('yt-dlp', [
//'--cookies', COOKIES_FILE,
+ '--js-runtimes', 'node:/home/pajser/.nvm/versions/node/v25.6.0/bin/node',
'--format', 'bestaudio[ext=m4a]/bestaudio/best',
'--external-downloader', 'aria2c',
'--external-downloader-args', '-x16 -s16 -k1M',
'--output', '-',
song.url,
- ]);
+ ], {
+ env: {
+ ...process.env,
+ NVM_DIR: '/home/pajser/.nvm',
+ PATH: `/home/pajser/.nvm/versions/node/v25.6.0/bin:` + process.env.PATH
+ }
+ });
const chunks = [];
let downloadComplete = false;
@@ -99,6 +106,7 @@ async function getVideoInfo(query) {
const args = [
'--cookies', COOKIES_FILE,
+ '--js-runtimes', 'node:/home/pajser/.nvm/versions/node/v25.6.0/bin/node',
'--dump-json',
];