Cmoen11 / BuffBot

Let BuffBot enter your Discord channel and play your favorite tunes along with your friends.
GNU General Public License v3.0
5 stars 1 forks source link
chatbot coins discord-bot discord-channel-manager discord-gamling discord-music-bot discordjs youtube-music-player

GitHub version Build Status []() [NetflixOSS Lifecycle]() Open Source Love Open Source Love

BuffBot šŸšŸ¤–

Discord is a great communication software itself, however, it does not provide some much wanted features. Some Discord servers may have several hundred members, if all of these users were to join the same voice channel, there would likely be several conversations taking place at the same time. On the other hand, some voice channels may have as little as one, two or three participants, opening the possibility for awkward silent moments.

Would it not be great if users could share their music with their fellow gamers, especially during awkward silent moments? Would it not be great if players were automatically sorted into voice channels allocated the game they are playing, instead of everyone manually creating and changing voice channels?

BuffBot is the solution to these lacking features. BuffBot provides features like streaming music into voice channels, queuing songs to a playlist, administrate users into voice channels based on what they do, a global server economy, interacting with the bot through mini games that can earn you an advantage in the global server economy. !šŸ’Ŗ

We have many great features we would like to implement to the bot in the future, such as an online management tool UI.
We'd love your help, whether you've got a bug or a feature you'd like fixed, or if you'd like to contribute through developing the BuffBot yourself.
However, please read and respect the Contribution first.

Table of contents šŸ“

Quick start šŸ’”

For windows/ubuntu people
pip install libffi-dev
pip install discord.py[voice]
pip install youtube-dl
pip install simpleeval

For mac people!
pip install discord.py[voice]
pip install youtube-dl
pip install simpleeval
brew install ffmpeg
brew install opus
brew install libffi
brew install libsodium
And then open up python3.6 package and run Install Certificates.command

Finally download the latest files from the project and open your terminal and write python main.py

Docker install

If you're not going to develop any new feature to BuffBot and just want to enjoy the features of BuffBot. Please download the zip from the newest release(or whatever version you prefer). Then build your project, edit BuffBot/botconfig/__init__.py and add your Bot token. Then run docker build -t buffbot_docker . from your command prompt.

Commands

Head over to the documentation for commands to see an extensive list of available commands.

Documentation šŸ“

https://github.com/Cmoen11/BuffBot/wiki

Folder structure

The folder structure is based on having all of the command modules in the root directory, while assisting modules and files are separated in different directories, such as db and unittest.

Contribution

Would you also like to contribute to BuffBot? Please follow our guidelines for reporting bugs and wanted features, in addition to how you can contribute through pull requests. These guidelines helps you communicate to us in an efficient way, that hopefully will improve the project.
If you're hooked and will dive into Buffbot with us, you find alot of documentation on the API we're using

Bugs and feature requests

If you've got a bug or feature request, please respect these restrictions:

Bug reports āŒ

Definition of a bug: A bug is an error, failure or fault in the program caused by the sourcecode in this repository, resulting the program to produce an incorrect or unexcepted result, or to behave in unintended ways.
We rely on good bug reports, so in advance, thank you for your contribution!

Feature requests šŸ’”

We're open for new features, but keep in mind the scope and relevance of the BuffBot. E.g. We will not implement changes in Discord's UI beyond what's already in the Discord API, as it neither is relevant nor in the scope of this project.
Details
is heavily encouraged when opening a feature request, they make it much easier for the developers to understand the scope of the request.

Pull requests šŸ“„

If the issue you would like to implement does not exist, you must follow the model below. If the issue on the other does exist, you can ignore the first process in the model.

Requirements for creating a pull request:


Licence šŸ“‹

GPL3.0

Credits for open repositories

https://github.com/Rapptz/discord.py

Structure of Github project, considering issues, pull requests and general documentations: https://github.com/twbs/bootstrap