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.
- You need to have ffmpeg installed on your machine.. Tutorial for FFmpeg(Windows).
And for ubuntu and mac users.. Tutorial for ubuntu FFmpeg - You also need python 3.x.
- Open terminal.. you have some pip install(s) to do!
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
- Now add your bot token in the file located
botconfig/__init__.py
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.
Head over to the documentation for commands to see an extensive list of available commands.
https://github.com/Cmoen11/BuffBot/wiki
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.
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
This is not the purpose of these requests.
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!
- Search through the issue tracker for the bug or feature you wish to submit. Duplication of requests like these takes time from developers, we'd rather spend on developing the bot.
- Pull the latest 'master' or 'development branch to check if the bug is fixed.
- Isolate the problem. One issue equals one bug.
- Please use the following format:
Long story short
...
Expected behaviour
...
Actual Behaviour
...
Steps to reproduce
...
Your environment
OS, Ptyhon version and more if necessarily
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.
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.
- Create feature branch
- Documentent all code
- Follow standards and conventions
- All code, except command functions that does not have a return value, must have unittests. These must be implemented in the unitTests folder.
- All modules must declare the if__name__ == "__main__":. Sharing is caring!
- Before creating a pull request, pull the latest master
- Describe the feature(s) you've included in the pull request as detailed as possible.
- Tag the related issue(s).
- Request two known contributors for their reviews.
- Respond to reviewers.
- Did your pull request get approved? Awesome, now please document the feature in our wiki
https://github.com/Rapptz/discord.py
Structure of Github project, considering issues, pull requests and general documentations: https://github.com/twbs/bootstrap