{"id":28334807,"url":"https://github.com/jerbmega/jerbot","last_synced_at":"2025-07-06T08:35:37.827Z","repository":{"id":40334468,"uuid":"200444847","full_name":"jerbmega/jerbot","owner":"jerbmega","description":"A generic, extensible, modular multi-purpose Discord bot","archived":false,"fork":false,"pushed_at":"2024-11-24T14:09:19.000Z","size":160,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"reheated","last_synced_at":"2025-05-26T21:48:21.644Z","etag":null,"topics":["bot","discord","docker","hikari","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jerbmega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-04T03:25:36.000Z","updated_at":"2024-11-24T14:09:23.000Z","dependencies_parsed_at":"2023-01-29T14:01:01.135Z","dependency_job_id":null,"html_url":"https://github.com/jerbmega/jerbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jerbmega/jerbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerbmega%2Fjerbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerbmega%2Fjerbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerbmega%2Fjerbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerbmega%2Fjerbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerbmega","download_url":"https://codeload.github.com/jerbmega/jerbot/tar.gz/refs/heads/reheated","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerbmega%2Fjerbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260321684,"owners_count":22991678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","docker","hikari","python3"],"created_at":"2025-05-26T21:42:48.728Z","updated_at":"2025-06-17T08:30:39.747Z","avatar_url":"https://github.com/jerbmega.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jerbot version 4 (\"Reheated\")\n\n## About\nJerbot is a generic, extensible, modular multi-purpose Discord bot. It primarily caters to the needs of the [Binding of Isaac Discord server](https://discord.gg/isaac), but is used sparingly in Nuclear Throne, Linux Gaming and a few other servers. \n\nJerbot's flexible configuration system allows for hot-toggling of features (or subfeatures, barring some edge cases!) for every server it's deployed on. There are *no* global commands- everything is done on a server by server basis.\n\n\n## Running\n### [FOLLOW FIRST] Initial setup\n`git clone` the repository, then\n- Copy `config.sample.yaml` to `config.yaml`.\n- Tweak the `config.yaml` to your liking. Make sure your bot's token is correct, and that, if you plan to use any submodules like [Book of Secrets](https://github.com/boi-community/book-of-secrets), make sure the folder is added to `plugin_folders`.\n- In `server_configs`, copy `server_config.sample.yaml` to `(guild id).yaml`, where `(guild id)` is the ID of a guild you are going to deploy the bot in. Every guild the bot is in will need its own config.\n- Tweak every planned server config to your liking.\n\n\n### Docker Compose (Highly Recommended)\nIf you haven't used Docker or Docker Compose before, [you'll need to install it.](https://docs.docker.com/engine/install/) I highly recommend checking it out- it makes running this stuff much easier!\n\n- Optionally, uncomment the commented out plugins line in `docker-compose.yml`. This means that if the only changes in a commit are to plugins instead of the main bot, the plugins can simply be reloaded in place instead of requiring a container restart.\n- Initialize the bot with `docker compose up`.\n\n\n### Docker\n- Build the bot with `docker build --tag jerbot`.\n- Then, run the bot. There's a few bind mounts you'll need to make.\n```bash\ndocker run \\\n    -v \"/full/path/to/your/config.yaml\":/jerbot/config/yaml \\\n    -v \"/full/path/to/your/server_configs\":/jerbot/server_configs \\\n    -v \"/full/path/to/your/db_folder\":/jerbot/db \\\n    jerbot\n```\n\n### Manually (Not recommended, unsupported)\n**A minimum of Python 3.10 is required.** I have not tested the bot on any later versions.\n\nThese instructions are for Linux, but should work for macOS as well. I have not tested Windows, but the only difference should be the activating the virtualenv.\n\n`git clone` the repository, then:\n\n- (Optional, highly recommended) Create a virtualenv:\n```bash\npython3 -m virtualenv venv\nsource venv/bin/activate\n```\n- Run the bot: `python3 main.py`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerbmega%2Fjerbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerbmega%2Fjerbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerbmega%2Fjerbot/lists"}