Skip to content

A self-hosted, feature-rich music bot for Discord, built with Python. Stream your favorite tunes seamlessly!

License

Notifications You must be signed in to change notification settings

DanteZulli/apolo-music-bot

Repository files navigation

Contributors Forks Stargazers Issues Unlicense License LinkedIn


Logo

Apolo Music Bot

A self-hosted, feature-rich music bot for Discord, built with Python. Stream your favorite tunes seamlessly!
Explore the docs »

Report Bug · Request Feature

Requirements

  • Python 3.8 or higher
  • FFmpeg installed on your system (if not using Docker)
  • Discord Bot Token
  • Privileged Intents enabled in the Discord Developer Portal

Bot Setup on Discord Developer Portal

  1. Go to the Discord Developer Portal
  2. Create a new application and configure the bot

    Note: Feel free to customize your bot's name, avatar, and description to match your preferences!

  3. In the "Bot" section, enable the following Privileged Gateway Intents:
    • Presence Intent
    • Server Members Intent
    • Message Content Intent
  4. In the "OAuth2" section, generate an invite URL with the following permissions:
    • Scopes: bot, applications.commands
    • Bot Permissions:
      • View Channels
      • Send Messages
      • Connect
      • Speak
      • Use Voice Activity
  5. Use the generated URL to invite the bot to your server

Project Setup

  1. Install the dependencies:
pip install -r requirements.txt
  1. Create a .env file in the root of the project to store your environment variables. Add your Discord bot token as follows:
DISCORD_TOKEN=your_discord_token_here
  1. Run the bot:
python main.py

Running with Docker

Using Docker Compose (Recommended)

  1. Ensure Docker and Docker Compose are installed.
  2. Create a .env file in the root of the project to store your environment variables. Add your Discord bot token as follows:
DISCORD_TOKEN=your_discord_token_here
  1. Run the bot with Docker Compose::
docker-compose up -d

Using Docker Directly

  1. Build the Docker image:
docker build -t apolo-music-bot .
  1. Run the container:
docker run -d \
  --name apolo-music-bot \
  -e DISCORD_TOKEN=your_token_here \
  -e COMMAND_PREFIX=! \
  apolo-music-bot

Usage

  • !join: Connects the bot to your voice channel.
  • !leave: Disconnects the bot from the voice channel.
  • !play [url]: Plays a song from YouTube or adds it to the queue.
  • !pause: Pauses the current playback.
  • !resume: Resumes the paused playback.
  • !stop: Stops the playback and clears the queue.
  • !skip: Skips the current song and moves to the next one in the queue.
  • !queue: Displays the current song queue.
  • !help: Displays a list of available commands and their usage.

Roadmap

For a detailed list of planned features and improvements, please see our TODO.md file.

Acknowledgments

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A self-hosted, feature-rich music bot for Discord, built with Python. Stream your favorite tunes seamlessly!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published