Groove Music
A powerful Discord music bot with LavaLink integration, featuring support for YouTube and Spotify, playlists, favorites, and much more!
๐ต Groove Music
High-Quality โข Fast โข Reliable
A powerful Discord music bot with LavaLink integration, featuring support for YouTube and Spotify, playlists, favorites, and much more!
Discord Server โข Report Bug โข Request Feature
โจ Features
- ๐ถ High-Quality Music Playback - Powered by LavaLink for the best audio quality
- ๐ต Multi-Platform Support - Play from YouTube and Spotify
- ๐ Playlist Management - Create, save, and share custom playlists
- โญ Favorites System - Save your favorite tracks for quick access
- ๐ผ Queue Management - Full control over your music queue
- ๐๏ธ Audio Filters - Apply various audio effects to customize your listening experience
- ๐ค Lyrics Support - Display lyrics for currently playing tracks
- ๐ Loop Modes - Loop single tracks or entire queues
- โฏ๏ธ Playback Controls - Play, pause, skip, shuffle, and more
- ๐ฒ Autoplay - Automatically queue similar songs when the queue ends
- ๐ผ๏ธ Beautiful Music Cards - Custom artwork for now playing displays
- โก Slash Commands - Modern Discord slash command support
- ๐ Prefix Commands - Traditional prefix commands (
,by default)
๐ Commands Overview
๐ต Music Playback
/play- Play a song or add it to the queue/pause- Pause the current track/resume- Resume playback/skip- Skip to the next track/stop- Stop playback and clear the queue/nowplaying- Display currently playing track/queue- View the current queue
๐๏ธ Queue Management
/shuffle- Shuffle the queue/clear- Clear the entire queue/remove- Remove a specific track from the queue/move- Move a track to a different position/back- Go back to the previous track/seek- Seek to a specific position in the track
๐ Playlists
/playlist-save- Save the current queue as a playlist/playlist-load- Load a saved playlist/playlist-list- View all your playlists/playlist-delete- Delete a playlist/playlist-rename- Rename a playlist/playlist-share- Share a playlist with others/playlist-import- Import a playlist from a link/playlist-track-add- Add a track to a playlist/playlist-track-remove- Remove a track from a playlist/playlist-track-list- View tracks in a playlist
โญ Favorites
/favorite-add- Add current track to favorites/favorite-remove- Remove a track from favorites/favorite-list- View all your favorite tracks/favorite-play- Play a track from your favorites
๐๏ธ Audio Settings
/volume- Adjust the volume/filter- Apply audio filters/loop- Set loop mode (off/track/queue)/autoplay- Toggle autoplay mode
โน๏ธ Information
/help- Display help information/ping- Check bot latency/lyrics- Display lyrics for the current track
๐ Quick Setup
Prerequisites
- Node.js v84 or higher
- A Discord bot token (Create one here)
- LavaLink server (see LavaLink Setup)
- (Optional) Spotify API credentials
- (Optional) Genius API key for lyrics
Installation
Clone the repository
git clone https://github.com/faisalg1t/Groove-Music.git cd Groove-MusicInstall dependencies
npm installConfigure environment variables
Create a
.envfile in the root directory:# Bot Configuration BOT_TOKEN=your_discord_bot_token CLIENT_ID=your_bot_client_id # LavaLink Configuration LAVALINK_HOSTS=your.lavalink.host LAVALINK_PORTS=2333 LAVALINK_PASSWORDS=youshallnotpass LAVALINK_SECURES=false # Optional: Genius Lyrics GENIUS_API_KEY=your_genius_api_keyConfigure bot settings
Edit
Groove-Music/config.jsto customize your bot:- Change the prefix (default:
,) - Adjust playlist limits
- Configure default music platform
- Set artwork style
- Change the prefix (default:
Start the bot
npm start
๐ธ LavaLink Setup
Groove Music requires a LavaLink server to function. You have two options:
Option 1: Use a Public LavaLink Server
You can use free public LavaLink servers (not recommended for production):
Option 2: Host Your Own LavaLink Server
- Download LavaLink from GitHub
- Create an
application.ymlconfiguration file - Run LavaLink:
java -jar Lavalink.jar - Update your
.envwith your LavaLink credentials
๐จ Customization
Changing the Prefix
Edit Groove-Music/config.js:
PREFIX: '!', // Change to your desired prefix
Adjusting Playlist Limits
MUSIC: {
PLAYLIST_LIMIT: 3, // Maximum number of playlists per user
}
Artwork Style
Choose between MusicCard (custom image card) or Banner (media gallery):
MUSIC: {
ARTWORK_STYLE: 'MusicCard' // or 'Banner'
}
๐ Project Structure
Groove-Music/
โโโ commands/ # Slash commands
โโโ pCommands/ # Prefix commands
โโโ music/ # Music client and event handlers
โโโ helpers/ # Utility functions and helpers
โโโ utils/ # Logging, permissions, validation
โโโ database/ # Database models (favorites, playlists)
โ โโโ models/
โโโ assets/ # Images and resources
โโโ config.js # Bot configuration
โโโ index.js # Main entry point
โโโ emojis.json # Custom emoji definitions
๐ง Troubleshooting
Bot doesn't respond to commands
- Ensure the bot has proper permissions in your server
- Check that the bot token is correct
- Verify LavaLink is running and accessible
Music doesn't play
- Confirm LavaLink server is online
- Check LavaLink credentials in
.env - Ensure the bot has
ConnectandSpeakpermissions in voice channels
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ Credits
Development Team
Groove Music is developed and maintained by Eleone Hub
Lead Developer
- Faisal (faisalg1t)
- Discord:
alex.jsz - Portfolio: faisal.dev
- Discord:
Built With
- Discord.js - Discord API library
- Poru - LavaLink client
- LavaLink - Audio delivery server
- Sequelize - Database ORM
Special Thanks
- Eleone Hub community for testing and feedback
- All contributors who helped improve this project
๐ Support
Need help? Join our community!
- Discord Server: https://discord.gg/TGF3fCXtRm
- Developer Contact: Discord @
alex.jsz - Portfolio: faisal.dev
๐ License
This project is licensed under the MIT License.
โ ๏ธ Disclaimer
This bot is for educational and entertainment purposes. Please respect copyright laws and Discord's Terms of Service when using this bot.