Skip to content

coslynx/discord-music-playback-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Discord Music Playback Bot

A feature-rich bot for seamless music playback on Discord servers.

Developed with the software and tools below.

git-last-commit GitHub commit activity GitHub top language

📑 Table of Contents

  • 📍 Overview
  • 📦 Features
  • 📂 Structure
  • 💻 Installation
  • 🏗️ Usage
  • 🌐 Hosting
  • 📜 API Documentation
  • 📄 License
  • 👏 Authors

📍 Overview

The Discord Music Playback Bot is designed to enhance the social and entertainment experiences of users on Discord by providing a seamless music playback system. This bot supports various music sources through integration with popular APIs and encourages user interaction via shared musical experiences.

📦 Features

Feature Description
🎶 Music Playback Play, pause, resume, and stop music from services like YouTube, Spotify, and SoundCloud directly in Discord.
📜 Playlist Management Users can create, edit, and manage song queues tailored to their preference, fostering collaborative experiences.
🔍 Search Functionality Easily find songs using simple text commands; integrates with third-party APIs for accurate results.
🔊 Volume Control Users can adjust volume levels according to their preferences for a personalized audio experience.
🎛️ Audio Effects Apply audio effects such as bass boost and echo for customized sound quality.
⚙️ Robust Command System An intuitive command system enables easy interaction, with help commands for guidance.
🔒 Permissions Management Ensure server order and security by regulating access to various commands based on user roles.
🔄 Cross-Server Functionality Retain user preferences across different Discord servers, promoting community sharing.
🎉 User Engagement Features Add music-based games, quizzes, or voting systems for song selections to deepen user interaction.

📂 Structure

project-root
├─ commands
│   ├─ audioCommands.js
│   ├─ playlistCommands.js
│   ├─ userCommands.js
│   └─ adminCommands.js
├─ events
│   ├─ messageHandler.js
│   ├─ musicPlayerEvents.js
│   └─ userJoinLeaveEvents.js
├─ music
│   ├─ audioPlayer.js
│   ├─ volumeControl.js
│   ├─ audioEffects.js
│   └─ queueManager.js
├─ services
│   ├─ discordService.js
│   ├─ youtubeService.js
│   ├─ spotifyService.js
│   └─ soundcloudService.js
├─ models
│   ├─ userModel.js
│   ├─ playlistModel.js
│   └─ songModel.js
├─ middlewares
│   ├─ errorHandler.js
│   ├─ permissionsHandler.js
│   └─ rateLimiter.js
├─ utils
│   ├─ config.js
│   ├─ logger.js
│   └─ commandParser.js
├─ database
│   └─ mongoConnection.js
├─ .env
├─ .gitignore
├─ package.json
└─ README.md

💻 Installation

🔧 Prerequisites

  • Node.js
  • npm
  • Docker

🚀 Setup Instructions

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

🏗️ Usage

🏃‍♂️ Running the Bot

  1. Start the bot:
    • node index.js
  2. Follow the bot's setup instructions to invite it to your server.

⚙️ Configuration

Adjust configuration settings in config.js or the .env file as needed.

🌐 API Documentation

🔍 Endpoints

  • GET /api/play: To play a song in the voice channel.
  • POST /api/playlist: To create or update a user's playlist.

🔒 Authentication

Utilizes OAuth for user authentication and session management via Discord.

📜 License

This project is licensed under the GNU AGPLv3.

👥 Authors

🌐 Spectra.Codes

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