Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A Discord BOT to play music from Youtube, Spotify and Deezer

License

RafaelSolVargas/Vulkan

Repository files navigation

Vulkan

A Music Discord bot, written in Python, that plays Youtube, Spotify and Deezer links. Vulkan was designed so that anyone can fork this project, follow the instructions and use it in their own way, Vulkan can also be configured in Heroku to work 24/7.

Music

  • Play musics from Youtube, Spotify and Deezer links (Albums, Artists, Playlists and Tracks)
  • Control loop of one or all musics
  • Allow moving and removing musics in the queue
  • Play musics in queue randomly
  • Store played songs and allow bidirectional flow

Commands

!play [title, spotify_url, youtube_url, deezer_url] - Start playing song

!resume - Resume the song player

!pause - Pause the song player

!skip - Skip the currently playing song

!prev - Return to play the previous song

!stop - Stop the playing of musics

!queue - Show the musics list in queue

!history - Show the played songs list

!loop [one, all, off] - Control the loop of songs

!shuffle - Shuffle the songs in queue

!remove [x] - Remove the song in position x

!move [x, y] - Change the musics in position x and y in Queue

!np - Show information of the currently song

!clear - Clear the songs in queue, doesn't stop the player

!reset - Reset the player, recommended if any error happen

!invite - Send the URL to invite Vulkan to your server

!help [command] - Show more info about the command selected

Usage:

API Keys

  • Your Discord Application - Discord

  • You own Spotify Keys - Spotify

    • This information must be stored in an .env file, explained further.

Requirements

  • Installation of Python 3.8+ and the dependencies in the requirements.txt file.
pip install -r requirements.txt
  • 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

Config File

The config file, located in ./config folder doesn't require any change, but if you acquire the knowledged of how it works, you can change it to the way you want.

Initialization

  • Go to Discord and invite your Bot to your own server
  • Run python main.py in console to start

Heroku

To run your Bot in Heroku 24/7, you will need the Procfile located in root, then follow the instructions in this video. In addition, also add these two buildpacks to your Heroku Application:

- https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git

- https://github.com/xrisk/heroku-opus.git

Testing

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.

Acknowledgment

  • See the DingoLingo project from Raptor123471, it helped me a lot to build Vulkan.