{"id":14983173,"url":"https://github.com/appujet/lavamusic","last_synced_at":"2025-04-13T06:17:15.536Z","repository":{"id":36956415,"uuid":"396661481","full_name":"appujet/lavamusic","owner":"appujet","description":"lavalink music bot base in lavalink-client and discord.js v14","archived":false,"fork":false,"pushed_at":"2025-04-04T12:39:36.000Z","size":10807,"stargazers_count":634,"open_issues_count":11,"forks_count":514,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-13T06:17:06.586Z","etag":null,"topics":["bot","discord","discord-bot","discord-js","discord-js-v14","discord-music-bot","lavalink","lavalink-music","lavalink-music-bot","lavalink-musicbot","lavamusic-","lavaplayer","music","music-bot","music-bot-discord","nodejs","shoukaku","soundcloud-","spotify","youtube"],"latest_commit_sha":null,"homepage":"https://appujet.github.io/lavamusic/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appujet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"appujet","patreon":"brblacky","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.me/sdip521"]}},"created_at":"2021-08-16T06:53:21.000Z","updated_at":"2025-04-12T08:31:29.000Z","dependencies_parsed_at":"2023-10-28T05:25:43.938Z","dependency_job_id":"e9ebb9d5-2c1b-4a2a-a5d1-be92c8d249bb","html_url":"https://github.com/appujet/lavamusic","commit_stats":{"total_commits":1614,"total_committers":81,"mean_commits":"19.925925925925927","dds":0.7410161090458488,"last_synced_commit":"491ea1e8e05a5c45f0c059d6438b61e0607aaa46"},"previous_names":["appujet/lavamusic","brblacky/lavamusic"],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appujet%2Flavamusic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appujet%2Flavamusic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appujet%2Flavamusic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appujet%2Flavamusic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appujet","download_url":"https://codeload.github.com/appujet/lavamusic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670437,"owners_count":21142905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","discord-bot","discord-js","discord-js-v14","discord-music-bot","lavalink","lavalink-music","lavalink-music-bot","lavalink-musicbot","lavamusic-","lavaplayer","music","music-bot","music-bot-discord","nodejs","shoukaku","soundcloud-","spotify","youtube"],"created_at":"2024-09-24T14:06:50.855Z","updated_at":"2025-04-13T06:17:15.516Z","avatar_url":"https://github.com/appujet.png","language":"TypeScript","funding_links":["https://github.com/sponsors/appujet","https://patreon.com/brblacky","https://www.paypal.me/sdip521","https://ko-fi.com/H2H7LKT9L"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ccenter\u003e\u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=gradient\u0026height=200\u0026section=header\u0026text=Lavamusic\u0026fontSize=80\u0026fontAlignY=35\u0026animation=twinkling\u0026fontColor=gradient\" /\u003e\u003c/center\u003e\n\n[![Version][version-shield]](version-url)\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![Support Server][support-shield]][support-server]\n[![MIT License][license-shield]][license-url]\n[![Run on Repl.it](https://repl.it/badge/github/appujet/lavamusic)](https://repl.it/github/appujet/lavamusic)\n[![Remix on Glitch](https://cdn.glitch.com/2703baf2-b643-4da7-ab91-7ee2a2d00b5b%2Fremix-button.svg)](https://glitch.com/edit/#!/import/github/appujet/lavamusic)\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/appujet/lavamusic\"\u003e\n    \u003cimg src=\"https://cdn.discordapp.com/avatars/875635121770889257/adc4fd956872a72814b70448d1fddd40.webp?size=512\" alt=\"lavamusic\" width=\"200\" height=\"200\"\u003e\n  \u003c/a\u003e\n\n  \u003ch1 align=\"center\"\u003eLavamusic\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eLavamusic is a Discord music bot that uses Discord.js, lavalink-client, and TypeScript.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://discord.com/oauth2/authorize?client_id=875635121770889257\u0026scope=bot+applications.commands\u0026permissions=8\"\u003eInvite Lavamusic\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/appujet/lavamusic/issues\"\u003eReport Bug \u0026 Request Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## 🔥 Unique Features\n\n- User-friendly and Easy to Use\n- Highly Configurable\n- Customizable Prefix\n- Multilingual support [Here](/Translation.md)\n- Hybrid Command Handling (Slash and Normal Commands)\n- Developed using TypeScript and Discord.js v14\n- Advanced Music System\n- Powerful Search Engine\n- 12 + Music Filters\n- 24/7 Music Playback\n- Playlist commands\n- Music channel system\n\n## 🎶 Support Sources\n\n### 🔍 Default Sources\n\n- ![SoundCloud](https://img.shields.io/badge/SoundCloud-FF3300?style=plastic\u0026logo=soundcloud\u0026logoColor=white)\n- ![Twitch](https://img.shields.io/badge/Twitch-9146FF?style=plastic\u0026logo=twitch\u0026logoColor=white)\n- ![Bandcamp](https://img.shields.io/badge/Bandcamp-629AA9?style=plastic\u0026logo=bandcamp\u0026logoColor=white)\n- ![Vimeo](https://img.shields.io/badge/Vimeo-1AB7EA?style=plastic\u0026logo=vimeo\u0026logoColor=white)\n- ![Nico](https://img.shields.io/badge/Nico-FF0066?style=plastic\u0026logo=nico\u0026logoColor=white)\n- ![Mixer](https://img.shields.io/badge/Mixer-FFA500?style=plastic\u0026logo=mixer\u0026logoColor=white)\n- ![http](https://img.shields.io/badge/http-FFA500?style=plastic\u0026logo=http\u0026logoColor=white)\n\n### 🔌 Plugin Sources\n\n**Note: You need to install the plugins to use these sources**\n\n- ![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=plastic\u0026logo=youtube\u0026logoColor=white) ([Required Plugin][youtube-source])\n- ![Spotify](https://img.shields.io/badge/Spotify-1ED760?style=plastic\u0026logo=spotify\u0026logoColor=white) ([Required Plugin][LavaSrc])\n- ![Deezer](https://img.shields.io/badge/Deezer-FF0000?style=plastic\u0026logo=deezer\u0026logoColor=white) ([Required Plugin][LavaSrc])\n- ![Apple Music](https://img.shields.io/badge/Apple%20Music-000000?style=plastic\u0026logo=apple-music\u0026logoColor=white) ([Required Plugin][LavaSrc])\n- ![Yandex Music](https://img.shields.io/badge/Yandex%20Music-FF0066?style=plastic\u0026logo=yandex-music\u0026logoColor=white) ([Required Plugin][LavaSrc])\n- ![jiosaavn](https://img.shields.io/badge/jiosaavn-51C4D3?style=plastic\u0026logo=jiosaavn\u0026logoColor=white) ([Required Plugin][Jiosaavn])\n- ![Mixcloud](https://img.shields.io/badge/Mixcloud-51C4D3?style=plastic\u0026logo=mixcloud\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Ocremix](https://img.shields.io/badge/Ocremix-FF6600?style=plastic\u0026logo=ocremix\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Clyp](https://img.shields.io/badge/Clyp-6BB5A6?style=plastic\u0026logo=clyp\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Reddit](https://img.shields.io/badge/Reddit-FF4500?style=plastic\u0026logo=reddit\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Getyarn](https://img.shields.io/badge/Getyarn-FF9000?style=plastic\u0026logo=getyarn\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![TikTok](https://img.shields.io/badge/TikTok-FF2D55?style=plastic\u0026logo=tiktok\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Soundgasm](https://img.shields.io/badge/Soundgasm-F1672F?style=plastic\u0026logo=soundgasm\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n- ![Text To Speech](https://img.shields.io/badge/Text%20To%20Speech-3080ff?style=plastic\u0026logo=google-translate\u0026logoColor=white) ([Required Plugin][skybot-lavalink-plugin])\n\n[LavaSrc]: https://github.com/topi314/LavaSrc\n[skybot-lavalink-plugin]: https://github.com/DuncteBot/skybot-lavalink-plugin\n[youtube-source]: https://github.com/lavalink-devs/youtube-source\n[jiosaavn]: https://github.com/appujet/jiosaavn-plugin\n\nTo Setup a Lavalink server on Windows, Linux, or Replit, [Click Here!](https://github.com/LucasB25/lavalink-server)\n\n### **Need help with plugins?**\n\nJoin our [Discord Server](https://discord.gg/YQsGbTwPBx) and ask for help in the `#support` channel!\n\n## 🔧 Requirements\n\nBefore starting with the installation, you need to have the following:\n\n- ![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge\u0026logo=node.js\u0026logoColor=white) [Recommend LTS or higher](https://nodejs.org/)\n- ![Lavalink](https://img.shields.io/badge/Lavalink-7289DA?style=for-the-badge\u0026logo=discord\u0026logoColor=white) [v4 or higher](https://github.com/lavalink-devs/lavalink)\n\n### Optional\n\n- ![MongoDB](https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white) [Optional](https://www.mongodb.com/try/download/community) (For MongoDB database)\n- ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white) [Optional](https://www.postgresql.org/download/) (For PostgreSQL database)\n- ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white) [Optional](https://www.docker.com/) (For Docker Installation)\n- ![Docker-Compose](https://img.shields.io/badge/Docker--Compose-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white) [Optional](https://docs.docker.com/compose/) (For Docker Installation)\n\n## 🚀 Installation from source\n\n1. Clone the Lavamusic repository:\n\n```bash\ngit clone https://github.com/appujet/lavamusic.git\n```\n\n2. Change to the Lavamusic directory:\n\n```bash\ncd lavamusic\n```\n\n3. Install the required packages:\n\n```bash\nnpm i\n```\n\n4. Compile:\n\n```\nnpm run build\n```\n\n5. Copy the `.env.example` file to `.env` and fill in all required values:\n\n6. Copy the `example.\u003cThe data source you want to use\u003e.schema.prisma` file to `schema.prisma` in `prisma` folder\nNote: If you want to use sqlite, skip this step.\nIf you are using a different data source, don't forget to fill in the `DATABASE_URL` value in `.env`.\n\n7. Generate the Prisma client:\n\n```bash\nnpm run db:push\n```\n\n8. Run the migrations (Only if you want to migrate your database):\n\n```bash\nnpm run db:migrate\n```\n\n9. Run the bot:\n\nNote: You can also run `run.bat` to easily run the bot on Windows.\n\n```bash\nnpm start\n```\n\n10. Invite the bot to your server:\n\nGenerate an invite link for your bot and invite it to your server using the [Discord Developer Portal](https://discord.com/developers/applications) or [Permissions Calculator](https://discordapi.com/permissions.html).\n\n11. (Optional) Deploy Slash Commands\n\nMake sure that your User ID is listed under `OWNER_IDS` in `.env`. In the Discord server with Lavamusic, run\n```\n!deploy\n```\n\n## 🚀 Installation using Docker Compose\n\nThis section assumes you have Docker and Docker Compose installed and running correctly.\nCopy the `.env.example` file to `.env` and fill in all required values:\n\n```yaml\nTOKEN=\".\" # Your bot token and remember, don't show everyone your bot token\nDEFAULT_LANGUAGE= \"EnglishUS\" # Default language for bot\nPREFIX=\"!\" # Your prefix\nOWNER_IDS=[\"859640640640640640\",\"859640640640640640\"] # Your discord id, you can add multiple ids\nGUILD_ID=\"859640640640640640\" # Your server ID (if you want to use it for a single server)\n```\n\nThen copy `Lavalink/example.application.yml` to `Lavalink/application.yml` and put any Lavalink plugins you want to use in `Lavalink/plugins`.\n\nAfter saving your changes you can open a terminal and go to the same location as the docker-compose.yml file. Then run the following:\n\n```bash\ndocker compose up -d\n```\n\nThe above command will start all your services and your bot should be up and running!\nIf you want to run it from the console, remove the -d argument.\n\nNow, you can invite the bot to your server.\n\nTo update, you only have to type the following:\n\n```bash\ndocker compose up --force-recreate --build -d\nimage prune -f\n```\n\nYou can automate this by using [Watchtower](https://github.com/containrrr/watchtower). The following should be sufficient:\n\n```bash\ndocker run --detach \\\n    --name watchtower \\\n    --volume /var/run/docker.sock:/var/run/docker.sock \\\n    --restart on-failure \\\n    containrrr/watchtower --cleanup\n```\n\nDo note that the bot will restart itself to update to the latest!\n\n## 🔗 Useful Links\n\n- ![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge\u0026logo=node.js\u0026logoColor=white) [Node.js](https://nodejs.org/en/download/)\n- ![Discord.js](https://img.shields.io/badge/Discord.js-7289DA?style=for-the-badge\u0026logo=discord\u0026logoColor=white) [Discord.js](https://discord.js.org/#/)\n- ![Lavalink](https://img.shields.io/badge/Lavalink-7289DA?style=for-the-badge\u0026logo=discord\u0026logoColor=white) [Lavalink](https://github.com/lavalink-devs/Lavalink)\n- ![MongoDB](https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white) [MongoDB](https://www.mongodb.com/try/download/community)\n- ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white) [PostgreSQL](https://www.postgresql.org/download/)\n- ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white) [Docker](https://www.docker.com/)\n- ![Docker-Compose](https://img.shields.io/badge/Docker--Compose-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white) [Docker-Compose](https://docs.docker.com/compose/)\n\n## 📝 Tutorial\n\nA tutorial has been uploaded on YouTube. Watch it by [clicking here](https://youtu.be/x5lQD2rguz0).\n\n## 📜 Contributing\n\nThank you for your interest in contributing to Lavamusic! Here are some guidelines to follow when contributing:\n\n1. Fork the repository and create a new branch for your feature or bug fix.\n2. Write clean and concise code that follows the established coding style.\n3. Create detailed and thorough documentation for any new features or changes.\n4. Write and run tests for your code.\n5. Submit a pull request with your changes.\nYour contribution will be reviewed by the project maintainers, and any necessary feedback or changes will be discussed with you. We appreciate your help in making Lavamusic better!\n\n## 🔐 License\n\nDistributed under the GPL-3.0 license. See [![LICENSE](https://img.shields.io/github/license/appujet/lavamusic?style=social)](https://github.com/appujet/lavamusic/blob/main/LICENSE) for more information [READ](https://discord.com/channels/942117923001098260/942120006219624469/1278087961774129314).\n\n## ☕ Donate\n\nDo you like this project? Support it by donating!\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/H2H7LKT9L)\n\n## 👥 Contributors\n\nThanks go to these wonderful people:\n\u003ca href=\"https://github.com/appujet/lavamusic/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=appujet/lavamusic\" /\u003e\n\u003c/a\u003e\n\n[version-shield]: https://img.shields.io/github/package-json/v/appujet/lavamusic?style=for-the-badge\n[contributors-shield]: https://img.shields.io/github/contributors/appujet/lavamusic.svg?style=for-the-badge\n[contributors-url]: https://github.com/appujet/lavamusic/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/appujet/lavamusic.svg?style=for-the-badge\n[forks-url]: https://github.com/appujet/lavamusic/network/members\n[stars-shield]: https://img.shields.io/github/stars/appujet/lavamusic.svg?style=for-the-badge\n[stars-url]: https://github.com/appujet/lavamusic/stargazers\n[issues-shield]: https://img.shields.io/github/issues/appujet/lavamusic.svg?style=for-the-badge\n[issues-url]: https://github.com/appujet/lavamusic/issues\n[license-shield]: https://img.shields.io/github/license/appujet/lavamusic.svg?style=for-the-badge\n[license-url]: https://github.com/appujet/lavamusic/blob/master/LICENSE\n[support-server]: https://discord.gg/YQsGbTwPBx\n[support-shield]: https://img.shields.io/discord/942117923001098260.svg?style=for-the-badge\u0026logo=discord\u0026colorB=7289DA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappujet%2Flavamusic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappujet%2Flavamusic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappujet%2Flavamusic/lists"}