RafaelSolVargas / Vulkan

A Discord BOT to play music from Youtube, Spotify and Deezer
MIT License
100 stars 31 forks source link
deezer deezer-music-api discord discord-bot discord-music-bot music pycord pycord-bot python spotify spotify-api yt-dlp

Vulkan

A Music Discord Bot, that plays Youtube, Spotify, Deezer links or raw queries. Vulkan is open source, so everyone can fork this project, follow the instructions and use it in their own way, executing it in your own machine or hosting in others machines to work 24/7.

Vulkan uses multiprocessing and asynchronous Python modules to maximize Music Player response time, so the player doesn't lag when many commands are being processed and it can play in multiples discord serves at the same time without affecting the Music Player response time.

Music ๐ŸŽง



Setting up for yourself

Requirements

Installation of Python 3.10+ and the dependencies in the requirements.txt file, creation of your own Bot in Discord and Spotify Keys.
To install the dependencies type this command in the terminal, in the project root folder.

pip install -r requirements.txt

๐Ÿ”‘ API Keys

You have to create your own discord Bot and store your Bot Token

Installation of FFMPEG

FFMPEG is a module that will be used to play music, you must have this configured in your machine FFMPEG must be configured in the PATH for Windows users. Check this YoutubeVideo.

You can download the executables in this link https://www.ffmpeg.org/download.html and then put the .exe files inside a ffmpeg\bin folder in your C:\ folder. Do not forget to add 'ffmpeg\bin' to your PATH.

.Env File Example

This is an example of how your .env file (located in root) should look like.

BOT_TOKEN=Your_Own_Bot_Token
SPOTIFY_ID=Your_Own_Spotify_ID
SPOTIFY_SECRET=Your_Own_Spotify_Secret
BOT_PREFIX=Your_Wanted_Prefix_For_Vulkan
SHOULD_AUTO_DISCONNECT_WHEN_ALONE=True #all settings can be set like this
#etc... All settings can be set this way

โš™๏ธ Configs

The bot's configuration is stored in the .env file, you can change the prefix and the bot token there, as well as all the other configurations. Take a look in the Settings page to personalize the Bot for you.

Initialization

๐Ÿณ Docker

You can also run this project in a Docker container. You can find the instructions to run this project in a Docker container in the Docker Instructions page.




๐Ÿš€ Heroku (Not free anymore)

Heroku doesn't offer free host services anymore.

To deploy and run your Bot in Heroku 24/7, follow the instructions in the Heroku Instructions page.

๐Ÿงช Tests

The tests were written manually with no package due to problems with async function in other packages, to execute them type in root:
python run_tests.py

๐Ÿ“– License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.

๐Ÿ—๏ธ Contributing

If you are interested in upgrading this project i will be very happy to receive a PR or Issue from you. See TODO project to see if i'm working in some feature now.