The project is broken into 7 separate pieces:
The API (core files) links all components with the database.
To request a new feature or report a bug you should open an issue on github. This way we can track new and interesting features recommended by users and developers of the plugin.
If you would like to join our community, get involved in development, join our clan, participate in events, and more -- you can join us on our discord!
Yes. We're always welcoming new talent to the team. Many new faces like to join our discord to have a bit of guidance, however if that's not your cup of tea -- we've listed all of the steps necessary to start a development environment, and to help contribute to banning bots, below:
This guide will take you through the necessary steps to start contributing to the server side components. This will include the following repositories:
You can find other relevant repositories in our organization's github.
pre-commit is used to format your commit before committing it.
pre-commit --version
pre-commit install
pre-commit runs automatically when you commit, but if it doesn't work.
pre-commit run --all-files
cmd
cd
to where you want to save our code.bot-detector
with two sub folders remote
& local
& download the remote repositories in the remote
folder.
File
on the top left than click Add local repository
, and navigate to the cloned repositories.Windows
mkdir bot-detector\remote bot-detector\local && cd bot-detector\remote
git clone https://github.com/Bot-detector/Bot-Detector-Core-Files.git
git clone https://github.com/Bot-detector/bot-detector-mysql.git
Linux
mkdir -p bot-detector/{remote,local}
git clone https://github.com/Bot-detector/Bot-Detector-Core-Files.git
git clone https://github.com/Bot-detector/bot-detector-mysql.git
cd Bot-Detector-Core-Files
docker-compose up --build
/usr/sbin/mysqld: ready for connections.
this means the database is ready.http://localhost:5000/
adding /docs at the end will give return the swagger documentation for the components /docs
Features, and bugs are documented as issues in each repository. The project owners, review these, and select some as part of a github project.
Changes to the project will have to submitted through the process of Merge Requests. Github has good documentation outlining this process and how it works, but to summarize it here briefly:
Fork
. bot-detector\local
folder)Current repository
, select the repository under your name.branch
or current branch
than new branch
.Publish branch
Create Pull Request
Bot-detector/
and base: develop
Code must be well-understood by those willing to review it. Please add comments where necessary, if you find that the method used may be difficult to decipher in the future.
Code must be linted prior to merging. We use black
.
Tests must be written where applicable.
snake_case
camelCase
snake_case
snake_case
camelCase
kebab-case
We have automated workflows setup for assigning approvers based on their knowledge in each repository - this person will be the owner of Issue/Merge Request. If we have not seen your pull request in a 24 hour period, please notify us via our our discord or on github.