Groove Music

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

Node.js Music af A l e x
Deploy denne skabelon
Skærmbillede 1

Om

README.md

Indhold
Åbn på GitHub

🎵 Groove Music

Groove Music Version Node.js Discord.js

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
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-Music/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-Music/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/
├── 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 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!

Sådan deployer du den

  1. 1 Åbn deploy-sidenGiv dit deployment et navn. Du logger ind, når du bekræfter.
  2. 2 Udfyld dens variablerDe værdier, skabelonen beder om, gemmes som miljøvariabler i dit deployment.
  3. 3 Tjek dine ressourcerDen trækker på dit abonnements fælles pulje og starter derefter. Alle konti starter gratis.

Log ind for at anmelde

Anmeldelser er knyttet til en konto for at forhindre misbrug.

Log ind