Skip to content

Private and custom discord bot for playing music and other fun goodies on the LAMZ discord server.

Notifications You must be signed in to change notification settings

BLovegrove/boomer

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Boomer - A Python-based Discord Music Bot

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
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact

About The Project

⚠️ ~ Project going through a rework - I'll update the readme soon! -Brandon ~ ⚠️


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.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • 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

Installation

  1. Create a free app for your SpotiPY API key

  2. Create a Discord Bot

  3. Clone the repo

    git clone https://github.com/BLovegrove/boomer.git
  4. Create pipenv with dependencies

    pipenv install
  5. Rename config-template and application-template to config.toml and application.yml respectively

  6. Fill out password in application.yaml

  7. Fill out guild_ids, owner_id, bot token & id, idle_track, pwd, and Spotify id & secret in config.toml (pwd field is the same as the password field in your application.yaml)

  8. Launch LavaLink jar and wait for it to boot.

    java -jar <lavalink jar path>
  9. Launch bot and wait for '<bot name#number> connected'.

    pipenv run python -m bot

(back to top)

Roadmap

  • 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).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Brandon Lovegrove - @B_A_Lovegrove - [email protected]

Project Link: https://github.com/BLovegrove/boomer


Like my work?

Buy Me A Coffee

(back to top)

About

Private and custom discord bot for playing music and other fun goodies on the LAMZ discord server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published