- Detailed description
-
- **`AUTO_LEAVE`** : After the music finished, can choose whether let the bot leave voice channel automatically or not.
- **`AUTO_LEAVE_COOLDOWN`** : Timer for auto disconnect(ms).
- **`DISPLAY_VOICE_STATE`** : Show voice channel status updates.
-
-
- **`TEXT_QUERY_TYPE`** : The default search engine for text search.
- The following are the available options for **TEXT_QUERY_TYPE**:
-
- autoSearch, youtubeSearch, spotifySearch, soundcloudSearch, appleMusicSearch
-
-
- **`URL_QUERY_TYPE`** : The default search engine for links.
- The following are the available options for **URL_QUERY_TYPE**:
-
- auto, youtube, spotifySong soundcloud, appleMusicSong
-
-
- **`DP_FORCE_YTDL_MOD`** : Streaming extractor settings. The default streaming library used is **play-dl**.
- If you want to use another library, you can install one of the following libraries and change the `DP_FORCE_YTDL_MOD` setting.
-
- $ npm install ytdl-core
- $ npm install @distube/ytdl-core
-
-
-
-
-## Running the script
-```
-npm run start
-```
-
-
-## Deploying with Docker Compose
-**image link** : https://hub.docker.com/r/hmes98318/music-disc
-### put your Token into [`docker-compose.yml`](./docker-compose.yml)
-```yml
-version: '3.8'
-services:
- music-disc:
- image: hmes98318/music-disc:1.4.2
- container_name: music-disc
- restart: always
- ports:
- - 33333:33333
- environment:
- TOKEN: "your_token"
- PREFIX: "+"
- PLAYING: "+help | music"
- EMBEDS_COLOR: "#FFFFFF"
- DEFAULT_VOLUME: 50
- MAX_VOLUME: 100
- AUTO_LEAVE: "true"
- AUTO_LEAVE_COOLDOWN: 5000
- DISPLAY_VOICE_STATE: "true"
- TEXT_QUERY_TYPE: "youtubeSearch"
- URL_QUERY_TYPE: "auto"
- DP_FORCE_YTDL_MOD: "play-dl"
-```
-
-### Start the container
-```
-docker-compose up -d
-```
-
-
-## Deploying with Replit
-Watch it by clicking on the image down below
-[![Music-Disc-with-Replit](https://img.youtube.com/vi/WH5aSHIebcc/0.jpg)](https://youtu.be/WH5aSHIebcc)
-
-
+This is a version based on [LavaShark](https://lavashark.js.org/), currently under development. Stay tuned for updates.
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 45df1ff..0000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-version: '3.8'
-services:
- music-disc:
- image: hmes98318/music-disc:1.4.2
- container_name: music-disc
- restart: always
- ports:
- - 33333:33333
- environment:
- TOKEN: "your_token"
- PREFIX: "+"
- PLAYING: "+help | music"
- EMBEDS_COLOR: "#FFFFFF"
- DEFAULT_VOLUME: 50
- MAX_VOLUME: 100
- AUTO_LEAVE: "true"
- AUTO_LEAVE_COOLDOWN: 5000
- DISPLAY_VOICE_STATE: "true"
- TEXT_QUERY_TYPE: "youtubeSearch"
- URL_QUERY_TYPE: "auto"
- DP_FORCE_YTDL_MOD: "play-dl"
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 70738f7..3ff64bb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,56 +1,39 @@
{
"name": "music-disc",
- "version": "1.4.2",
+ "version": "2.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "music-disc",
- "version": "1.4.2",
+ "version": "2.0.0",
"license": "MIT",
"dependencies": {
- "@discord-player/equalizer": "^0.2.1",
- "@discord-player/extractor": "^4.2.1",
- "@discord-player/utils": "^0.2.1",
- "@ffmpeg-installer/ffmpeg": "^1.1.0",
"console-stamp": "^3.1.1",
- "discord-player": "^6.3.0",
"discord.js": "^14.11.0",
"dotenv": "^16.0.3",
"express": "^4.18.2",
- "ms": "2.1.3",
- "opusscript": "~0.0.8",
- "play-dl": "^1.9.6"
+ "lavashark": "^1.1.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.3.2",
+ "ts-node": "^10.9.1",
+ "typescript": "^4.9.5"
},
"engines": {
"node": ">=16.13.0"
}
},
- "node_modules/@discord-player/equalizer": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@discord-player/equalizer/-/equalizer-0.2.1.tgz",
- "integrity": "sha512-PPjX8TBwzM85YKEdpYYL8aGbdSLIk9RK1h/uU5jeyiF6Uu5CiLH/XctDfcGW8cSgoaU4J0R6a8svCs9yhzHXSw=="
- },
- "node_modules/@discord-player/extractor": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@discord-player/extractor/-/extractor-4.2.1.tgz",
- "integrity": "sha512-z1kqIyAteD5H22KE/VTuujdXq4D+lV9owv6SmpmoS1R/ss+skTCOe/jReHlQC2HBNo5flShgEzMDqtp/HxI7cA==",
- "dependencies": {
- "file-type": "^16.5.4",
- "genius-lyrics": "^4.4.2",
- "node-html-parser": "^6.1.4",
- "reverbnation-scraper": "^2.0.0",
- "soundcloud-scraper": "^5.0.3",
- "spotify-url-info": "^3.2.3",
- "youtube-sr": "^4.3.4"
- }
- },
- "node_modules/@discord-player/utils": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@discord-player/utils/-/utils-0.2.1.tgz",
- "integrity": "sha512-yPxfdO2N3i2YEEiwlLDNyuBEdnhV1mZaC7im2BI4FKn3ak1UAtVcbKeJhdd/va0A170+PZs3zUKVGldY0z/+ng==",
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "dev": true,
"dependencies": {
- "@discordjs/collection": "^1.1.0"
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/@discordjs/builders": {
@@ -107,66 +90,6 @@
"node": ">=16.9.0"
}
},
- "node_modules/@discordjs/rest/node_modules/file-type": {
- "version": "18.4.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.4.0.tgz",
- "integrity": "sha512-o6MQrZKTAK6WpvmQk3jqTVUmqxYBxW5bloUfrdH1ZnRFDvvAPNr+l+rgOxM3nkqWT+3khaj3FRMDydWe0xhu+w==",
- "dependencies": {
- "readable-web-to-node-stream": "^3.0.2",
- "strtok3": "^7.0.0",
- "token-types": "^5.0.1"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
- }
- },
- "node_modules/@discordjs/rest/node_modules/peek-readable": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz",
- "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/@discordjs/rest/node_modules/strtok3": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz",
- "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "peek-readable": "^5.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/@discordjs/rest/node_modules/token-types": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz",
- "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
"node_modules/@discordjs/util": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@discordjs/util/-/util-0.3.1.tgz",
@@ -175,21 +98,6 @@
"node": ">=16.9.0"
}
},
- "node_modules/@discordjs/voice": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.16.0.tgz",
- "integrity": "sha512-ToGCvHD1cBscuW3p+C7zOF5+L7MJmU4GjdOARfNk9mkHyFFZq4grK+Sxr3QXKbp27DtfDBc9uqD4GUOYgxngfA==",
- "dependencies": {
- "@types/ws": "^8.5.4",
- "discord-api-types": "^0.37.37",
- "prism-media": "^1.3.5",
- "tslib": "^2.5.0",
- "ws": "^8.13.0"
- },
- "engines": {
- "node": ">=16.9.0"
- }
- },
"node_modules/@discordjs/ws": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-0.8.3.tgz",
@@ -209,122 +117,30 @@
"node": ">=16.9.0"
}
},
- "node_modules/@ffmpeg-installer/darwin-arm64": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-arm64/-/darwin-arm64-4.1.5.tgz",
- "integrity": "sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==",
- "cpu": [
- "arm64"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@ffmpeg-installer/darwin-x64": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz",
- "integrity": "sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==",
- "cpu": [
- "x64"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@ffmpeg-installer/ffmpeg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.1.0.tgz",
- "integrity": "sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==",
- "optionalDependencies": {
- "@ffmpeg-installer/darwin-arm64": "4.1.5",
- "@ffmpeg-installer/darwin-x64": "4.1.0",
- "@ffmpeg-installer/linux-arm": "4.1.3",
- "@ffmpeg-installer/linux-arm64": "4.1.4",
- "@ffmpeg-installer/linux-ia32": "4.1.0",
- "@ffmpeg-installer/linux-x64": "4.1.0",
- "@ffmpeg-installer/win32-ia32": "4.1.0",
- "@ffmpeg-installer/win32-x64": "4.1.0"
- }
- },
- "node_modules/@ffmpeg-installer/linux-arm": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm/-/linux-arm-4.1.3.tgz",
- "integrity": "sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==",
- "cpu": [
- "arm"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@ffmpeg-installer/linux-arm64": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm64/-/linux-arm64-4.1.4.tgz",
- "integrity": "sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==",
- "cpu": [
- "arm64"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@ffmpeg-installer/linux-ia32": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz",
- "integrity": "sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==",
- "cpu": [
- "ia32"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@ffmpeg-installer/linux-x64": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz",
- "integrity": "sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==",
- "cpu": [
- "x64"
- ],
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "node_modules/@ffmpeg-installer/win32-ia32": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz",
- "integrity": "sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "dev": true
},
- "node_modules/@ffmpeg-installer/win32-x64": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz",
- "integrity": "sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
},
"node_modules/@sapphire/async-queue": {
"version": "1.5.0",
@@ -336,9 +152,9 @@
}
},
"node_modules/@sapphire/shapeshift": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.0.tgz",
- "integrity": "sha512-iJpHmjAdwX9aSL6MvFpVyo+tkokDtInmSjoJHbz/k4VJfnim3DjvG0hgGEKWtWZgCu45RaLgcoNgR1fCPdIz3w==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.2.tgz",
+ "integrity": "sha512-YRbCXWy969oGIdqR/wha62eX8GNHsvyYi0Rfd4rNW6tSVVa8p0ELiMEuOH/k8rgtvRoM+EMV7Csqz77YdwiDpA==",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"lodash": "^4.17.21"
@@ -349,9 +165,9 @@
}
},
"node_modules/@sapphire/snowflake": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.0.tgz",
- "integrity": "sha512-SaluGqA1A233nK/Tc5obhnT/PCm6HboPo0sOKzS5vkYrgLa+CEDYgYrKKCBp3ky1nGbN0PRiyMKGYD1Rd0mZqg==",
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.1.tgz",
+ "integrity": "sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==",
"engines": {
"node": ">=v14.0.0",
"npm": ">=7.0.0"
@@ -362,15 +178,39 @@
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
"integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="
},
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node12": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node14": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "dev": true
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+ "dev": true
+ },
"node_modules/@types/node": {
- "version": "20.1.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz",
- "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g=="
+ "version": "20.3.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz",
+ "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw=="
},
"node_modules/@types/ws": {
- "version": "8.5.4",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
- "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
+ "version": "8.5.5",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz",
+ "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==",
"dependencies": {
"@types/node": "*"
}
@@ -396,6 +236,27 @@
"node": ">= 0.6"
}
},
+ "node_modules/acorn": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
+ "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -410,6 +271,12 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true
+ },
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -438,11 +305,6 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
- },
"node_modules/busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
@@ -489,42 +351,6 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/cheerio": {
- "version": "1.0.0-rc.12",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
- "dependencies": {
- "cheerio-select": "^2.1.0",
- "dom-serializer": "^2.0.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "htmlparser2": "^8.0.1",
- "parse5": "^7.0.0",
- "parse5-htmlparser2-tree-adapter": "^7.0.0"
- },
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
- }
- },
- "node_modules/cheerio-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
- "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-select": "^5.1.0",
- "css-what": "^6.1.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -585,31 +411,11 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
- "node_modules/css-select": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^6.1.0",
- "domhandler": "^5.0.2",
- "domutils": "^3.0.1",
- "nth-check": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true
},
"node_modules/dateformat": {
"version": "4.6.3",
@@ -627,11 +433,6 @@
"ms": "2.0.0"
}
},
- "node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -649,30 +450,20 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
- "node_modules/discord-api-types": {
- "version": "0.37.42",
- "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.42.tgz",
- "integrity": "sha512-1Huaj9cQ1W7/uryS8MZs/tZemnoKB94thM1cE40lep3rpU3q7WHqkdjN/veX0prTkYlPhcyLd/DeF/pBO8X8oQ=="
- },
- "node_modules/discord-player": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/discord-player/-/discord-player-6.3.0.tgz",
- "integrity": "sha512-+YA/ZsAOEMfZIWa2Xezcf9x1rIH9IP3Ak0uAt8e9x9Esv63v+hEtWgjeIgThxK+i5XgjUVQpPP2coesHA6MeUw==",
- "dependencies": {
- "@discord-player/equalizer": "^0.2.1",
- "@discord-player/utils": "^0.2.1",
- "@discordjs/voice": "latest",
- "libsodium-wrappers": "^0.7.10"
- },
- "funding": {
- "url": "https://github.com/Androz2091/discord-player?sponsor=1"
- },
- "peerDependencies": {
- "@discord-player/extractor": "^4.2.1",
- "discord.js": "14.x",
- "youtube-sr": "4.x"
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
}
},
+ "node_modules/discord-api-types": {
+ "version": "0.37.46",
+ "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.46.tgz",
+ "integrity": "sha512-DeSi5WSWYTeXJJhdwACtpQycY3g4vLRvE2Ol5IlC0o//P2W+8jXPF447PuJn2fRH1nD7JGEJ3YMb0NB9+OQ7BQ=="
+ },
"node_modules/discord.js": {
"version": "14.11.0",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.11.0.tgz",
@@ -697,63 +488,15 @@
"node": ">=16.9.0"
}
},
- "node_modules/dom-serializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
- "dependencies": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.2",
- "entities": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
- }
- },
- "node_modules/domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ]
- },
- "node_modules/domhandler": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
- "dependencies": {
- "domelementtype": "^2.3.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
- "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
- "dependencies": {
- "dom-serializer": "^2.0.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
- }
- },
"node_modules/dotenv": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
- "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "version": "16.3.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
+ "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
"engines": {
"node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
}
},
"node_modules/ee-first": {
@@ -769,17 +512,6 @@
"node": ">= 0.8"
}
},
- "node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -840,16 +572,16 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/file-type": {
- "version": "16.5.4",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz",
- "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==",
+ "version": "18.5.0",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz",
+ "integrity": "sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==",
"dependencies": {
- "readable-web-to-node-stream": "^3.0.0",
- "strtok3": "^6.2.4",
- "token-types": "^4.1.1"
+ "readable-web-to-node-stream": "^3.0.2",
+ "strtok3": "^7.0.0",
+ "token-types": "^5.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sindresorhus/file-type?sponsor=1"
@@ -893,22 +625,14 @@
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
- "node_modules/genius-lyrics": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/genius-lyrics/-/genius-lyrics-4.4.3.tgz",
- "integrity": "sha512-06L8GUg49FrUYEmSQvrSH74RH5S+qyerHwBpvk8vZLwWgpEw4mIWZDob5IpXT1ryhqazM9K6CXGNucKYPO8kng==",
- "dependencies": {
- "cheerio": "^1.0.0-rc.9",
- "undici": "^5.8.2"
- }
- },
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
},
"funding": {
@@ -934,6 +658,17 @@
"node": ">=8"
}
},
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -945,37 +680,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/himalaya": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/himalaya/-/himalaya-1.1.0.tgz",
- "integrity": "sha512-LLase1dHCRMel68/HZTFft0N0wti0epHr3nNY7ynpLbyZpmrKMQ8YIpiOV77TM97cNpC8Wb2n6f66IRggwdWPw=="
- },
- "node_modules/htmlparser2": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
- "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
- "funding": [
- "https://github.com/fb55/htmlparser2?sponsor=1",
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "dependencies": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "entities": "^4.4.0"
- }
- },
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -1034,17 +738,17 @@
"node": ">= 0.10"
}
},
- "node_modules/libsodium": {
- "version": "0.7.11",
- "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.11.tgz",
- "integrity": "sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A=="
- },
- "node_modules/libsodium-wrappers": {
- "version": "0.7.11",
- "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz",
- "integrity": "sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q==",
+ "node_modules/lavashark": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/lavashark/-/lavashark-1.1.0.tgz",
+ "integrity": "sha512-0/13pC/ZU7bIddfFbNX277otd3LVxS2GywTelc0bsY65ZRNQC0V8l4TNNNk1Y0SYGB1wiSXOGjF9N+ueiiDP+w==",
"dependencies": {
- "libsodium": "^0.7.11"
+ "discord.js": "^14.11.0",
+ "undici": "^5.22.1",
+ "ws": "^8.13.0"
+ },
+ "engines": {
+ "node": ">=16.9.0"
}
},
"node_modules/lodash": {
@@ -1057,17 +761,11 @@
"resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
"integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
},
- "node_modules/m3u8stream": {
- "version": "0.8.6",
- "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.8.6.tgz",
- "integrity": "sha512-LZj8kIVf9KCphiHmH7sbFQTVe4tOemb202fWwvJwR9W5ENW/1hxJN6ksAWGhQgSBSa3jyWhnjKU1Fw1GaOdbyA==",
- "dependencies": {
- "miniget": "^4.2.2",
- "sax": "^1.2.4"
- },
- "engines": {
- "node": ">=12"
- }
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
},
"node_modules/media-typer": {
"version": "0.3.0",
@@ -1120,18 +818,10 @@
"node": ">= 0.6"
}
},
- "node_modules/miniget": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz",
- "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA==",
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/negotiator": {
"version": "0.6.3",
@@ -1141,45 +831,6 @@
"node": ">= 0.6"
}
},
- "node_modules/node-fetch": {
- "version": "2.6.11",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
- "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-html-parser": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz",
- "integrity": "sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==",
- "dependencies": {
- "css-select": "^5.1.0",
- "he": "1.2.0"
- }
- },
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
"node_modules/object-inspect": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
@@ -1199,34 +850,6 @@
"node": ">= 0.8"
}
},
- "node_modules/opusscript": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/opusscript/-/opusscript-0.0.8.tgz",
- "integrity": "sha512-VSTi1aWFuCkRCVq+tx/BQ5q9fMnQ9pVZ3JU4UHKqTkf0ED3fKEPdr+gKAAl3IA2hj9rrP6iyq3hlcJq3HELtNQ=="
- },
- "node_modules/parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "dependencies": {
- "entities": "^4.4.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/parse5-htmlparser2-tree-adapter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
- "dependencies": {
- "domhandler": "^5.0.2",
- "parse5": "^7.0.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -1241,58 +864,17 @@
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
"node_modules/peek-readable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
- "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz",
+ "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==",
"engines": {
- "node": ">=8"
+ "node": ">=14.16"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/play-audio": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/play-audio/-/play-audio-0.5.2.tgz",
- "integrity": "sha512-ZAqHUKkQLix2Iga7pPbsf1LpUoBjcpwU93F1l3qBIfxYddQLhxS6GKmS0d3jV8kSVaUbr6NnOEcEMFvuX93SWQ=="
- },
- "node_modules/play-dl": {
- "version": "1.9.6",
- "resolved": "https://registry.npmjs.org/play-dl/-/play-dl-1.9.6.tgz",
- "integrity": "sha512-JW44bQbME9fNfGhGXQ/rdcsHr4BfgJabVlSgpS9QY/NscfprFH1asv+q9atrZThP3+hHIpgtFNABccg9rFWlwg==",
- "dependencies": {
- "play-audio": "^0.5.2"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/prism-media": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.5.tgz",
- "integrity": "sha512-IQdl0Q01m4LrkN1EGIE9lphov5Hy7WWlH6ulf5QdGePLlPas9p2mhgddTEHrlaXYjjFToM1/rWuwF37VF4taaA==",
- "peerDependencies": {
- "@discordjs/opus": ">=0.8.0 <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
- }
- }
- },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -1369,14 +951,6 @@
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/reverbnation-scraper": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/reverbnation-scraper/-/reverbnation-scraper-2.0.0.tgz",
- "integrity": "sha512-t1Mew5QC9QEVEry5DXyagvci2O+TgXTGoMHbNoW5NRz6LTOzK/DLHUpnrQwloX8CVX5z1a802vwHM3YgUVOvKg==",
- "dependencies": {
- "node-fetch": "^2.6.0"
- }
- },
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -1401,11 +975,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
"node_modules/send": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
@@ -1429,6 +998,11 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
"node_modules/serve-static": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
@@ -1461,36 +1035,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/soundcloud-scraper": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/soundcloud-scraper/-/soundcloud-scraper-5.0.3.tgz",
- "integrity": "sha512-AmS9KmK7mMaPVzHzBk40rANpAttZila3+iAet6EA47EeiTBUzVwjq4B+1LCOLtgPmzDSGk0qn+LZOEd5UhnZTQ==",
- "dependencies": {
- "cheerio": "^1.0.0-rc.10",
- "m3u8stream": "^0.8.4",
- "node-fetch": "^2.6.1"
- }
- },
- "node_modules/spotify-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/spotify-uri/-/spotify-uri-3.0.3.tgz",
- "integrity": "sha512-mMstJ4dAMki6GbUjg94kp/h9ZH+7T7+ro/KUC00WVh+WKoLgMRrTKLkWMIwCZNO53Xa8DRHQw/6jwYtRZrVI3g==",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/spotify-url-info": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/spotify-url-info/-/spotify-url-info-3.2.3.tgz",
- "integrity": "sha512-h7LCEM86kE68uWWAW0+NbKP+33qPC00SsbdJXzvmzNc18aIA/NukTi8gKZKEwHBENusLX0VRsHfIhyKDg7Fong==",
- "dependencies": {
- "himalaya": "~1.1.0",
- "spotify-uri": "~3.0.3"
- },
- "engines": {
- "node": ">= 12"
- }
- },
"node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
@@ -1516,15 +1060,15 @@
}
},
"node_modules/strtok3": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
- "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz",
+ "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==",
"dependencies": {
"@tokenizer/token": "^0.3.0",
- "peek-readable": "^4.1.0"
+ "peek-readable": "^5.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
},
"funding": {
"type": "github",
@@ -1551,35 +1095,73 @@
}
},
"node_modules/token-types": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
- "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz",
+ "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==",
"dependencies": {
"@tokenizer/token": "^0.3.0",
"ieee754": "^1.2.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
"node_modules/ts-mixer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.3.tgz",
"integrity": "sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ=="
},
+ "node_modules/ts-node": {
+ "version": "10.9.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
+ "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+ "dev": true,
+ "dependencies": {
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
+ }
+ },
"node_modules/tslib": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
- "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
+ "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA=="
},
"node_modules/type-is": {
"version": "1.6.18",
@@ -1593,6 +1175,19 @@
"node": ">= 0.6"
}
},
+ "node_modules/typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
"node_modules/undici": {
"version": "5.22.1",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz",
@@ -1625,6 +1220,12 @@
"node": ">= 0.4.0"
}
},
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+ "dev": true
+ },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -1633,20 +1234,6 @@
"node": ">= 0.8"
}
},
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -1667,10 +1254,14 @@
}
}
},
- "node_modules/youtube-sr": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/youtube-sr/-/youtube-sr-4.3.4.tgz",
- "integrity": "sha512-olSYcR80XigutCrePEXBX3/RJJrWfonJQj7+/ggBiWU0CzTDLE1q8+lpWTWCG0JpzhzILp/IB/Bq/glGqqr1TQ=="
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
}
}
}
diff --git a/package.json b/package.json
index 0d11ad0..3dce750 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,12 @@
{
"name": "music-disc",
- "version": "1.4.2",
+ "version": "2.0.0",
"description": "Discord Music Bot",
- "main": "/src/index.js",
+ "main": "/src/index.ts",
"scripts": {
- "start": "node ./src/index.js"
+ "start": "node ./dist/src/index.js",
+ "build": "tsc",
+ "dev": "ts-node ./src/index.ts"
},
"repository": {
"type": "git",
@@ -17,18 +19,16 @@
},
"homepage": "https://github.com/hmes98318/Music-Disc#readme",
"dependencies": {
- "@discord-player/equalizer": "^0.2.1",
- "@discord-player/extractor": "^4.2.1",
- "@discord-player/utils": "^0.2.1",
- "@ffmpeg-installer/ffmpeg": "^1.1.0",
"console-stamp": "^3.1.1",
- "discord-player": "^6.3.0",
"discord.js": "^14.11.0",
"dotenv": "^16.0.3",
"express": "^4.18.2",
- "ms": "2.1.3",
- "opusscript": "~0.0.8",
- "play-dl": "^1.9.6"
+ "lavashark": "^1.1.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.3.2",
+ "ts-node": "^10.9.1",
+ "typescript": "^4.9.5"
},
"engines": {
"node": ">=16.13.0"
diff --git a/src/commands/back.js b/src/commands/back.js
deleted file mode 100644
index 4580aa0..0000000
--- a/src/commands/back.js
+++ /dev/null
@@ -1,34 +0,0 @@
-module.exports = {
- name: 'back',
- aliases: ['b', 'rewind'],
- description: 'Back to previous song',
- usage: 'back',
- voiceChannel: true,
- options: [],
-
- async execute(client, message) {
- const queue = client.player.nodes.get(message.guild.id);
-
- if (!queue || !queue.isPlaying())
- return message.reply({ content: `ā | No music currently playing.`, allowedMentions: { repliedUser: false } });
-
- if (!queue.history.previousTrack)
- return message.reply({ content: `ā | There was no music playing before.`, allowedMentions: { repliedUser: false } });
-
- await queue.history.back();
- return await message.react('š');
- },
-
- async slashExecute(client, interaction) {
- const queue = client.player.nodes.get(interaction.guild.id);
-
- if (!queue || !queue.isPlaying())
- return interaction.reply({ content: `ā | No music currently playing.`, allowedMentions: { repliedUser: false } });
-
- if (!queue.history.previousTrack)
- return interaction.reply({ content: `ā | There was no music playing before.`, allowedMentions: { repliedUser: false } });
-
- await queue.history.back();
- return await interaction.reply("ā
| Music rewound.");
- },
-};
\ No newline at end of file
diff --git a/src/commands/dashboard.js b/src/commands/dashboard.js
deleted file mode 100644
index 1cc9433..0000000
--- a/src/commands/dashboard.js
+++ /dev/null
@@ -1,69 +0,0 @@
-const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require('discord.js');
-
-const embed = require('../embeds/embeds');
-const { button } = require('../utils/constants');
-const { settings } = require('../utils/player/settings');
-
-
-module.exports = {
- name: 'dashboard',
- aliases: ['d', 'main'],
- description: 'Move the dashboard embed to the bottom',
- usage: 'dashboard',
- voiceChannel: true,
- options: [],
-
- async execute(client, message) {
- const queue = client.player.nodes.get(message.guild.id);
-
- if (!queue || !queue.isPlaying())
- return message.reply({ content: `ā | No music currently playing.`, allowedMentions: { repliedUser: false } });
-
-
- try {
- await queue.dashboard.delete();
- } catch (error) {
- console.log('Dashboard delete error:', error);
- }
-
- let playing = queue.node.isPaused();
-
- const playPauseButton = new ButtonBuilder().setCustomId('Playing-PlayPause').setEmoji(playing ? button.play : button.pause).setStyle(ButtonStyle.Secondary);
- const skipButton = new ButtonBuilder().setCustomId('Playing-Skip').setEmoji(button.skip).setStyle(ButtonStyle.Secondary);
- const stopButton = new ButtonBuilder().setCustomId('Playing-Stop').setEmoji(button.stop).setStyle(ButtonStyle.Danger);
- const loopButton = new ButtonBuilder().setCustomId('Playing-Loop').setEmoji(button.loop).setStyle(ButtonStyle.Secondary);
- const shuffleButton = new ButtonBuilder().setCustomId('Playing-Shuffle').setEmoji(button.shuffle).setStyle(ButtonStyle.Secondary);
- const row = new ActionRowBuilder().addComponents(playPauseButton, skipButton, stopButton, loopButton, shuffleButton);
-
- const cur = queue.currentTrack;
- queue.dashboard = await queue.metadata.channel.send({ embeds: [embed.Embed_dashboard('Dashboard', cur.title, cur.url, cur.thumbnail, settings(queue))], components: [row] });
- return await message.react('š');
- },
-
- async slashExecute(client, interaction) {
- const queue = client.player.nodes.get(interaction.guild.id);
-
- if (!queue || !queue.isPlaying())
- return interaction.reply({ content: `ā | No music currently playing.`, allowedMentions: { repliedUser: false } });
-
-
- try {
- await queue.dashboard.delete();
- } catch (error) {
- console.log('Dashboard delete error:', error);
- }
-
- let playing = queue.node.isPaused();
-
- const playPauseButton = new ButtonBuilder().setCustomId('Playing-PlayPause').setEmoji(playing ? button.play : button.pause).setStyle(ButtonStyle.Secondary);
- const skipButton = new ButtonBuilder().setCustomId('Playing-Skip').setEmoji(button.skip).setStyle(ButtonStyle.Secondary);
- const loopButton = new ButtonBuilder().setCustomId('Playing-Loop').setEmoji(button.loop).setStyle(ButtonStyle.Secondary);
- const stopButton = new ButtonBuilder().setCustomId('Playing-Stop').setEmoji(button.stop).setStyle(ButtonStyle.Danger);
- const shuffleButton = new ButtonBuilder().setCustomId('Playing-Shuffle').setEmoji(button.shuffle).setStyle(ButtonStyle.Secondary);
- const row = new ActionRowBuilder().addComponents(playPauseButton, skipButton, loopButton, stopButton, shuffleButton);
-
- const cur = queue.currentTrack;
- queue.dashboard = await queue.metadata.channel.send({ embeds: [embed.Embed_dashboard('Dashboard', cur.title, cur.url, cur.thumbnail, settings(queue))], components: [row] });
- return await interaction.reply("ā
| Dashboard updated.");
- },
-};
\ No newline at end of file
diff --git a/src/commands/help.js b/src/commands/help.js
deleted file mode 100644
index 0be850a..0000000
--- a/src/commands/help.js
+++ /dev/null
@@ -1,84 +0,0 @@
-const embed = require('../embeds/embeds');
-
-
-module.exports = {
- name: 'help',
- aliases: ['h'],
- showHelp: false,
- description: 'Get commands help',
- usage: 'help [command]',
- options: [
- {
- name: "command",
- description: "which command need help",
- type: 3,
- required: false
- }
- ],
-
- execute(client, message, args) {
- const prefix = client.config.prefix;
-
- if (!args[0]) {
- let title = client.user.username;
- let thumbnail = client.user.displayAvatarURL();
- const commands = client.commands.filter(x => x.showHelp !== false);
-
- let description = `**Available Commands**\n` + commands.map(x => `ā¢ \`${prefix}${x.name}${x.aliases[0] ? ` (${x.aliases.map(y => y).join(', ')})\`` : '\`'}`).join('\n');
-
- return message.reply({ embeds: [embed.Embed_help(title, thumbnail, description)], allowedMentions: { repliedUser: false } });
- }
- else {
- let helpCmd = args[0];
- const commands = client.commands.filter(x => x.showHelp !== false);
- //console.log('helpCmd', helpCmd);
-
- let found = false;
- found = commands.find(x => {
- if (helpCmd === x.name || x.aliases.includes(helpCmd)) {
- let command = x.name
- let description = `${x.description}\n\`\`\`${prefix}${x.usage}\`\`\``;
-
- message.reply({ embeds: [embed.Embed_help2(command, description)], allowedMentions: { repliedUser: false } });
- return true;
- }
- });
-
- if (!Boolean(found)) return message.reply({ content: 'ā | The command not found.', allowedMentions: { repliedUser: false } });
- }
- },
-
- slashExecute(client, interaction) {
- const prefix = client.config.prefix;
- const command = interaction.options.getString("command");
-
- if (!command) {
- let title = client.user.username;
- let thumbnail = client.user.displayAvatarURL();
- const commands = client.commands.filter(x => x.showHelp !== false);
-
- let description = `**Available Commands**\n` + commands.map(x => `ā¢ \`${prefix}${x.name}${x.aliases[0] ? ` (${x.aliases.map(y => y).join(', ')})\`` : '\`'}`).join('\n');
-
- return interaction.reply({ embeds: [embed.Embed_help(title, thumbnail, description)], allowedMentions: { repliedUser: false } });
-
- }
- else {
- let helpCmd = command;
- const commands = client.commands.filter(x => x.showHelp !== false);
- //console.log('helpCmd', helpCmd);
-
- let found = false;
- found = commands.find(x => {
- if (helpCmd === x.name || x.aliases.includes(helpCmd)) {
- let command = x.name
- let description = `${x.description}\n\`\`\`${prefix}${x.usage}\`\`\``;
-
- interaction.reply({ embeds: [embed.Embed_help2(command, description)], allowedMentions: { repliedUser: false } });
- return true;
- }
- });
-
- if (!Boolean(found)) return interaction.reply({ content: 'ā | The command not found.', allowedMentions: { repliedUser: false } });
- }
- },
-};
diff --git a/src/commands/leave.js b/src/commands/leave.js
deleted file mode 100644
index 8664192..0000000
--- a/src/commands/leave.js
+++ /dev/null
@@ -1,32 +0,0 @@
-module.exports = {
- name: 'leave',
- aliases: ['stop'],
- description: 'Leave current voice channel',
- usage: 'leave',
- voiceChannel: true,
- options: [],
-
- execute(client, message) {
- const queue = client.player.nodes.get(message.guild.id);
-
- if (!queue || !queue.isPlaying())
- return message.reply({ content: `ā | There is no music currently playing.`, allowedMentions: { repliedUser: false } });
-
- if (!queue.deleted)
- queue.delete();
-
- return message.react('š');
- },
-
- slashExecute(client, interaction) {
- const queue = client.player.nodes.get(interaction.guild.id);
-
- if (!queue || !queue.isPlaying())
- return interaction.reply({ content: `ā | There is no music currently playing.`, allowedMentions: { repliedUser: false } });
-
- if (!queue.deleted)
- queue.delete();
-
- return interaction.reply('ā
| Bot leave.');
- },
-};
\ No newline at end of file
diff --git a/src/commands/loop.js b/src/commands/loop.js
deleted file mode 100644
index 08a238d..0000000
--- a/src/commands/loop.js
+++ /dev/null
@@ -1,93 +0,0 @@
-module.exports = {
- name: 'loop',
- aliases: ['lp'],
- description: 'Turns the music loop mode on or off',
- usage: 'loop