Skip to content
This repository has been archived by the owner on Feb 2, 2024. It is now read-only.
/ BuffBot Public archive

Let BuffBot enter your Discord channel and play your favorite tunes along with your friends.

License

Notifications You must be signed in to change notification settings

Cmoen11/BuffBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Now add your bot token in the file located botconfig/__init__.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: * Keep the discussion on topic. * Please do not open issues if there are segment(s) of code you do not understand that you would like explained to you.
This is not the purpose of these requests.

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!

  • 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

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.

  • 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
Requirements for creating a pull request:
  • 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

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