Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/twlite/music-bot
The only self-hostable discord music bot you will ever need, has a cool website too ✌️
https://github.com/twlite/music-bot
dashboard discord-player express javascript mern-stack mongodb music-bot nextjs redis shadcn-ui voip web
Last synced: 17 days ago
JSON representation
The only self-hostable discord music bot you will ever need, has a cool website too ✌️
- Host: GitHub
- URL: https://github.com/twlite/music-bot
- Owner: twlite
- License: mit
- Created: 2023-11-05T05:54:32.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-14T15:10:47.000Z (4 months ago)
- Last Synced: 2024-10-12T20:08:07.450Z (about 1 month ago)
- Topics: dashboard, discord-player, express, javascript, mern-stack, mongodb, music-bot, nextjs, redis, shadcn-ui, voip, web
- Language: TypeScript
- Homepage: https://music-bot.twlite.dev
- Size: 463 KB
- Stars: 21
- Watchers: 3
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
> # Project overview
> As a core contributor to [discord-player](https://discord-player.js.org), I've dedicated significant time and effort to this project. My familiarity with the core principles of discord-player has allowed me to incorporate many of its concepts and best practices into this project, serving as a valuable reference for library users. I've strived to ensure the project is user-friendly and intuitive. Your suggestions and feedback are always welcome - feel free to open an issue or submit a pull request.
---
# Music Bot
A complete example of a discord music bot including database, web dashboard, and more powered by [discord.js](https://discord.js.org/#/) and [discord-player](https://discord-player.js.org).
# Features
- Easy to use
- Customizable
- Covers most of the concepts as well as best practices of discord-player
- Slash commands
- Web dashboard
- Custom playlists management
- Queue management
- Persistent configurations
- Equalizerand more...
# Setting up the bot
## Setup with Docker
- TODO
## Manual setup
- Run `pnpm install --frozen-lockfile` to install all dependencies
### Starting the bot
- Rename `.env.example` to `.env` and fill out the values
- Put your bot token in `DISCORD_TOKEN`
- Put mongodb database credentials in `DATABASE_URL` (You can get one for free from [Mongodb Atlas](https://www.mongodb.com/atlas))
- Put your redis config in `REDIS_*` (you can use memurai for windows)
- Run `pnpm bot dev` to start the bot in development mode### Starting the website
- Rename `.env.example` to `.env` and fill out the values
- Run `pnpm run --filter web dev` to start the website in development modeYou can now use `/web` command to get magic link to the website. You are able to add songs to the queue, skip songs, change volume and more from the website itself. You can also do this from Discord using slash commands.
![Web Interface](https://github.com/twlite/music-bot/blob/main/assets/image.png?raw=true)
## Support me on Patreon
If you like this project, consider supporting me on Patreon. This will help me to keep working on projects like this and make them even better.
[![Patreon](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/twlite)