Groove Music

A powerful Discord music bot with LavaLink integration, featuring support for YouTube and Spotify, playlists, favorites, and much more!

Node.js Music by A l e x
Deploy this template
Screenshot 1

About

README.md

Contents
Open on GitHub

🎵 Groove Music

Groove Music Version Node.js Discord.js

High-Quality • Fast • Reliable • Premium

A powerful Discord music bot with LavaLink integration, featuring support for YouTube and Spotify, playlists, favorites, and much more!

Discord Server • Bot-Hosting.net • Report Bug • Request Feature


🚀 Deploy on Bot-Hosting.net

Want to host Groove Music without setting up your own server? You can easily deploy it using Bot-Hosting.net.

💙 Get Started

👉 Click Here to create free Bot-Hosting.net account.

After creating your account:

  1. Go to the Templates section in your Bot-Hosting.net dashboard.
  2. Search for Groove-Music.
  3. Select the Groove-Music template.
  4. Deploy the template to your server.
  5. Configure your required environment variables, including your Discord bot token and LavaLink credentials.
  6. Start your bot and you're ready to enjoy Groove Music! 🎵

💡 New to Bot-Hosting.net? Use the button above to create your account, then find Groove-Music in the Templates section.

🎶 Quick & Easy

Create Account → Templates → Groove-Music → Deploy → Configure → Start

Enjoy hosting Groove Music on Bot-Hosting.net! 💙


✨ 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
  • /playlistsave - Save the current queue as a playlist
  • /playlistload - Load a saved playlist
  • /playlistlist - View your playlists
  • /playlistdelete - Delete a playlist
  • /playlistrename - Rename a playlist
  • /playlistshare - Share a playlist with others
  • /playlistimport - Import a playlist from a share code or Spotify URL
  • /playlisttrackadd - Add a track to a playlist
  • /playlisttrackremove - Remove a track from a playlist
  • /playlisttracklist - View tracks in a playlist
  • /playlistcreate - Create an empty playlist
  • /playlistappend - Append a playlist to the queue
⭐ Favorites
  • /favoriteadd - Add a track to favorites
  • /favoriteremove - Remove a track from favorites
  • /favoritelist - View your favorite tracks
  • /favoriteplay - Play tracks 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
Installation
  1. Clone the repository

    Bash
    git clone https://github.com/faisaljs/Groove-Music.git
    cd Groove-Music
    
  2. Install dependencies

    Bash
    npm install
    
  3. Configure environment variables

    Create a .env file in the root directory:

    Env
    # 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_key
    
  4. Configure bot settings

    Edit Groove/config.js to customize your bot:

    • Change the prefix (default: ,)
    • Adjust playlist limits
    • Configure default music platform
    • Set artwork style
  5. Start the bot

    Bash
    npm start
    

Groove Music requires a LavaLink server to function. You have two options:

You can use free public LavaLink servers (not recommended for production):

  1. Download LavaLink from GitHub
  2. Create an application.yml configuration file
  3. Run LavaLink: java -jar Lavalink.jar
  4. Update your .env with your LavaLink credentials

🎨 Customization

Changing the Prefix

Edit Groove/config.js:

JavaScript
PREFIX: '!',  // Change to your desired prefix
Adjusting Playlist Limits
JavaScript
MUSIC: {
    PLAYLIST_LIMIT: 3,  // Maximum number of playlists per user
}
Artwork Style

Choose between MusicCard (custom image card) or Banner (media gallery):

JavaScript
MUSIC: {
    ARTWORK_STYLE: 'MusicCard'  // or 'Banner'
}

📁 Project Structure

Groove-Music/
├── Groove/
│   ├── commands/        # Slash commands
│   ├── pCommands/       # Prefix commands
│   ├── music/           # Poru event handlers
│   ├── helpers/         # Music helpers and card rendering
│   ├── utils/           # Permission helpers
│   ├── config.js        # Bot configuration
│   └── index.js         # Bot entry point
├── database/           # Database models (favorites, playlists)
│   └── models/
└── README.md

🔧 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 Connect and Speak permissions in voice channels

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 Credits

Development Team

Groove Music is developed and maintained by Eleone Hub

Lead Developer
  • Faisal (faisaljs)
Built With
Special Thanks
  • Eleone Hub community for testing and feedback
  • All contributors who helped improve this project

📞 Support

Need help? Join our community!


📄 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.


Made with ❤️ by Eleone Hub

Discord Portfolio

If you like this project, please consider giving it a ⭐ on GitHub!

How to deploy it

  1. 1 Open the deploy pageName your deployment. You sign in when you confirm.
  2. 2 Fill in its variablesThe values the template asks for, stored as environment variables of your deployment.
  3. 3 Check your resourcesIt draws from your plan's shared pool, then launches. Every account starts free.

Log in to report

Reports are tied to an account to prevent abuse.

Log in