Skip to content

Project: Lavalink Powered Discord Music Bot with 50+ Commands and Premium System. Created at https://spectra.codes, which is owned by @Drix10

Notifications You must be signed in to change notification settings

coslynx/discord-music-bot-premium-expansion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


discord-music-bot-premium-expansion

A sophisticated Discord music bot with premium features, designed for engaging and personalized music experiences.

Developed with the software and tools below.

Language: Javascript Framework: Discord.js Audio: Lavalink Database: MongoDB

git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

  • πŸ“ Overview
  • πŸ“¦ Features
  • πŸ“‚ Structure
  • πŸ’» Installation
  • πŸ—οΈ Usage
  • 🌐 Hosting
  • πŸ“„ License
  • πŸ‘ Authors

πŸ“ Overview

The repository contains a project called "discord-music-bot-premium-expansion" that provides a comprehensive solution using the following tech stack: Javascript, Discord.js, Lavalink, MongoDB. This bot aims to elevate the Discord music experience with a robust feature set, including a premium system offering enhanced functionalities and exclusive benefits.

πŸ“¦ Features

Feature Description
🎡 Music Playback Play, pause, resume, stop, skip, queue, song information display, queue management, volume control, equalizer, looping, shuffle, repeat.
πŸ” Music Search Search for music by title, artist, or URL across various supported music sources.
🎢 Playlists & Albums Play music from pre-made playlists and albums.
πŸ’Ύ Personal Playlists Create, manage, and save your own playlists.
🎧 Spotify Integration Seamlessly play music from your Spotify library.
πŸ‘‘ Premium System Access exclusive commands, higher quality audio streaming, customizable settings, priority support, and private music sessions.
🀝 Community Interaction User-generated requests, voting systems, social media integration, and moderation tools.
🧠 AI-Powered Recommendations Personalized music suggestions based on your listening history and preferences.
πŸ‘€ Personalized Audio Profiles Customize your listening experience with custom equalizer settings, volume preferences, and preferred music sources.
🌐 Multi-Server Management Manage music across multiple Discord servers for large communities.
πŸ“Š Advanced Analytics Track user engagement, music preferences, and bot performance for data-driven optimization.

πŸ“‚ Structure

β”œβ”€β”€ commands
β”‚   β”œβ”€β”€ play.js
β”‚   β”œβ”€β”€ pause.js
β”‚   β”œβ”€β”€ resume.js
β”‚   β”œβ”€β”€ stop.js
β”‚   β”œβ”€β”€ skip.js
β”‚   β”œβ”€β”€ queue.js
β”‚   β”œβ”€β”€ nowplaying.js
β”‚   β”œβ”€β”€ loop.js
β”‚   β”œβ”€β”€ volume.js
β”‚   β”œβ”€β”€ equalizer.js
β”‚   β”œβ”€β”€ search.js
β”‚   β”œβ”€β”€ playlist.js
β”‚   β”œβ”€β”€ album.js
β”‚   β”œβ”€β”€ shuffle.js
β”‚   β”œβ”€β”€ repeat.js
β”‚   β”œβ”€β”€ createplaylist.js
β”‚   β”œβ”€β”€ addplaylist.js
β”‚   β”œβ”€β”€ removeplaylist.js
β”‚   β”œβ”€β”€ showplaylist.js
β”‚   β”œβ”€β”€ deleteplaylist.js
β”‚   β”œβ”€β”€ spotify.js
β”‚   β”œβ”€β”€ premium.js
β”‚   β”œβ”€β”€ help.js
β”‚   └── settings.js
β”œβ”€β”€ events
β”‚   β”œβ”€β”€ ready.js
β”‚   β”œβ”€β”€ message.js
β”‚   β”œβ”€β”€ guildCreate.js
β”‚   β”œβ”€β”€ guildDelete.js
β”‚   β”œβ”€β”€ voiceStateUpdate.js
β”‚   β”œβ”€β”€ interactionCreate.js
β”‚   └── error.js
β”œβ”€β”€ services
β”‚   β”œβ”€β”€ musicService.js
β”‚   β”œβ”€β”€ queueService.js
β”‚   β”œβ”€β”€ playlistService.js
β”‚   β”œβ”€β”€ userService.js
β”‚   └── premiumService.js
β”œβ”€β”€ models
β”‚   β”œβ”€β”€ userModel.js
β”‚   β”œβ”€β”€ playlistModel.js
β”‚   β”œβ”€β”€ songModel.js
β”‚   β”œβ”€β”€ guildModel.js
β”‚   └── premiumModel.js
β”œβ”€β”€ utils
β”‚   β”œβ”€β”€ commandHandler.js
β”‚   β”œβ”€β”€ logger.js
β”‚   β”œβ”€β”€ errorHandler.js
β”‚   β”œβ”€β”€ responseHandler.js
β”‚   β”œβ”€β”€ embedGenerator.js
β”‚   β”œβ”€β”€ apiHandler.js
β”‚   β”œβ”€β”€ spotifyHandler.js
β”‚   β”œβ”€β”€ queueManager.js
β”‚   └── voiceManager.js
β”œβ”€β”€ config
β”‚   β”œβ”€β”€ env.config.js
β”‚   β”œβ”€β”€ database.config.js
β”‚   β”œβ”€β”€ lavalink.config.js
β”‚   └── spotify.config.js
β”œβ”€β”€ routes
β”‚   β”œβ”€β”€ api.js
β”‚   └── musicRoutes.js
β”œβ”€β”€ middleware
β”‚   β”œβ”€β”€ authentication.js
β”‚   β”œβ”€β”€ permissions.js
β”‚   β”œβ”€β”€ logging.js
β”‚   β”œβ”€β”€ rateLimiter.js
β”‚   └── errorHandler.js
β”œβ”€β”€ .env
└── package.json

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js (v18+)
  • npm
  • Docker

πŸš€ Setup Instructions

  1. Clone the repository:
    • git clone https://github.com/coslynx/discord-music-bot-premium-expansion.git
  2. Navigate to the project directory:
    • cd discord-music-bot-premium-expansion
  3. Install dependencies:
    • npm install

πŸ—οΈ Usage

πŸƒβ€β™‚οΈ Running the Project

  1. Start the development server:
    • npm start
  2. Open your browser and navigate to http://localhost:3000.

βš™οΈ Configuration

Adjust configuration settings in config/env.config.js.

πŸ“š Examples

  • πŸ“ Play a song: !play <song name>
  • πŸ“ Add a song to the queue: !queue <song name>
  • πŸ“ Skip the current song: !skip
  • πŸ“ Create a playlist: !createplaylist <playlist name>
  • πŸ“ Connect your Spotify account: !spotify connect
  • πŸ“ Access a premium feature: !premium <feature>
  • πŸ“ Get help: !help

🌐 Hosting

πŸš€ Deployment Instructions

  1. Create a Discord bot application:
  2. Obtain a bot token:
    • Go to the 'Bot' tab in your application settings and click 'Add Bot'.
    • Copy the bot token; this is essential for the bot to connect to your Discord server.
  3. Set up Lavalink:
    • Follow the instructions at https://lavalink.js.org/ to install and configure Lavalink. You'll need a server to host Lavalink.
  4. Configure environment variables:
    • Create a .env file in your project root and set the following environment variables:
      • DISCORD_TOKEN: Your Discord bot token.
      • LAVALINK_HOST: The hostname of your Lavalink server.
      • LAVALINK_PORT: The port number of your Lavalink server.
      • LAVALINK_PASSWORD: The password for your Lavalink server.
      • MONGO_URI: The connection URI for your MongoDB database.
  5. Deploy the bot:
    • Use a hosting platform like Heroku or AWS. Configure your hosting environment with the required dependencies (Node.js, MongoDB) and ensure your bot's code is accessible.
  6. Add the bot to your Discord server:
    • Go to the 'OAuth2' tab in your Discord application settings.
    • Select 'Bot' as the scope and enable the 'Administrator' permission.
    • Copy the generated authorization URL and paste it into your browser.
    • Choose the server where you want to add your bot.

πŸ“œ License

This project is licensed under the GNU AGPLv3.

πŸ‘₯ Authors

🌐 Spectra.Codes

Why only generate Code? When you can generate the whole Repository!