Boomer plays music.
His name was something of a play on the word 'boombox' , and the idea behind him was to make a small, expandable, useful discord music bot for a private group of lovable nerds called the Lusty Argonian Maidz (Please don't ask about the name).
I made the bot by learning from those that were destroyed before it (Rythm, Groovy, etc. - thanks for your service folks).
Report Bug
·
Request Feature
Table of Contents
Boomer's humourous profile picture courtesy of my friend Bastian (IG: @fjaerdefantomen), who (aside from the odd meme like this) creates some fantastic art pieces. Seriously - check him out.
Boomer, on the other hand, is entirely developed by myself and James using the libraries and technologies listed in Built With.
Because my server only needed the music functionality, that's what he's limited to for now - but more features or enhancements would be welcome! See Contributing for more info on that.
Boomer also has a miniscule memory/computing footprint. I've been running him at home with a Raspberry Pi on 2GB of RAM and still managing to squeeze almost 20 instances playing at once out of him in testing (with wiggle-room to spare).
The CPU usage is so low it barely registers above 5% on the Pi's ARM processor at 700-800 MHz.
To get a local copy up and running follow these simple example steps.
- Compatable LavaLink (and accompanying java version)
- Python 3.8 (Used because it was my only choice on the hardware I'm using to host Boomer. You could probably update everything here to run on 3.10 without too much trouble)
- Python3 PIP and Pipenv for the dependencies found in the Pipfile
-
Create a free app for your SpotiPY API key
-
Create a Discord Bot
-
Clone the repo
git clone https://github.com/BLovegrove/boomer.git
-
Create pipenv with dependencies
pipenv install
-
Rename config-template and application-template to config.toml and application.yml respectively
-
Fill out
password
in application.yaml -
Fill out
guild_ids
,owner_id
, bottoken & id
,idle_track
,pwd
, and Spotifyid & secret
in config.toml (pwd field is the same as the password field in your application.yaml) -
Launch LavaLink jar and wait for it to boot.
java -jar <lavalink jar path>
-
Launch bot and wait for '<bot name#number> connected'.
pipenv run python -m bot
-
Paged list for the queue -
Spotify and Soundcloud search integration -
Idle music when nothing is playing -
'Now Playing' song info -
Differentiate skipping whole queue to a point, or jumping that one song to the front of the queue -
Join queue without playing anything - bot-wide favorites lists w/ save and load feature.
- Report command to send owner of the bot instance a discord message with a copy of the log and a warning that something went wrong.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Brandon Lovegrove - @B_A_Lovegrove - [email protected]
Project Link: https://github.com/BLovegrove/boomer
Like my work?