Welcome to the Discord Music Bot repository! This bot is a powerful, feature-rich music bot built with Python and discord.py
, offering seamless integration with YouTube and Spotify. This project was created with the assistance of ChatGPT to demonstrate the capabilities of AI-driven development.
Command | Description |
---|---|
/join |
Join your voice channel. |
/leave |
Leave the voice channel. |
/play <URL> |
Play a YouTube or Spotify track. |
/pause |
Pause the playback. |
/resume |
Resume the playback. |
/skip |
Skip the current song. |
/stop |
Stop the playback and clear the queue. |
/lyrics |
Fetch the lyrics for the current song. |
/help |
Show help information. |
/volume <percent> |
Set the playback volume (0-100%). |
/loop <on/off> |
Enable or disable looping of the current song. |
/add_to_playlist <name> <url> |
Add a song to a custom playlist. |
/play_playlist <name> |
Play songs from a custom playlist. |
/vote_skip |
Vote to skip the current song. |
/clear <number> |
Clear a number of messages in a channel (admin only). |
/list_playlists |
List all custom playlists and their creators. |
You have two options to set up the Discord Music Bot: cloning the repository or using the provided setup installer.
Clone the repository:
git clone https://github.com/MCbabel/discord-music-bot.git
cd discord-music-bot
Install the required dependencies:
pip install -r requirements.txt
Set up your environment variables:
Create a .env
file in the root directory and add your Discord token, Spotify credentials, and Genius API key:
DISCORD_TOKEN=your_discord_token
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
GENIUS_ACCESS_TOKEN=your_genius_api_key
Run the bot:
python bot.py
Download the setup file:
Run the setup file:
Double-click on the setup.bat
file and follow the prompts to enter your Discord Bot Token, Spotify Client ID, Spotify Client Secret, and Genius API Key. This will automatically set up your environment variables and install the required dependencies.
Run the bot:
Once the setup is complete, simply run the bot.py
file to start the bot.
python bot.py
To integrate Spotify, you need to obtain a Client ID and Client Secret from the Spotify Developer Dashboard. Here are the steps:
Create a Spotify Developer Account:
Create an App:
Retrieve Your Credentials:
Add Credentials to .env File:
.env
file with the obtained credentials.DISCORD_TOKEN=your_discord_token
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
GENIUS_ACCESS_TOKEN=your_genius_api_key
To fetch lyrics, you need to obtain a Genius API Key. Here are the steps:
Create a Genius Account:
Create an API Client:
Retrieve Your API Key:
Add API Key to .env File:
.env
file with the obtained API Key.DISCORD_TOKEN=your_discord_token
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
GENIUS_ACCESS_TOKEN=your_genius_api_key
To ensure that your bot works correctly, you need to invite it to your server with the necessary permissions. Use the following OAuth2 URL to generate an invite link for your bot:
https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=277083450752&scope=bot%20applications.commands
Replace YOUR_CLIENT_ID
with your bot's client ID, which you can find in the Discord Developer Portal.
View Channels
: Allows the bot to see text channels and read messages.Send Messages
: Allows the bot to send messages in text channels.Connect
: Allows the bot to connect to voice channels.Speak
: Allows the bot to play audio in voice channels.Use Slash Commands
: Allows the bot to register and use slash commands.Manage Messages
: Required for the /clear
command to delete messages.Embed Links
: Allows the bot to send embedded rich content.Read Message History
: Allows the bot to read message history (useful for commands like /lyrics
).Contributions are welcome! Please fork this repository and submit a pull request for any changes you would like to make.
This project is licensed under the MIT License. See the LICENSE file for details.
This project was created with the assistance of ChatGPT, demonstrating the power of AI in software development. Special thanks to the OpenAI team for providing such an incredible tool.
Happy listening! 🎵