diff --git a/README.md b/README.md index cf65b7c6..e004b434 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,29 @@ -# Development +# Zeppelin +Zeppelin is a moderation bot for Discord, designed with large servers and reliability in mind. + +**Main features include:** +- Extensive automoderator features (automod) + - Word filters, spam detection, etc. +- Detailed moderator action tracking and notes (cases) +- Customizable server logs +- Tags/custom commands +- Reaction roles +- Tons of utility commands, including a granular member search +- Full configuration via a web dashboard + - Override specific settings and permissions on e.g. a per-user, per-channel, or per-permission-level basis +- Bot-managed slowmodes + - Automatically switches between native slowmodes (for 6h or less) and bot-enforced (for longer slowmodes) +- Starboard +- And more! + +See https://zeppelin.gg/ for more details. + +## Development These instructions are intended for bot development only. 👉 **No support is offered for self-hosting the bot!** 👈 -## Running the bot +### Running the bot 1. `cd backend` 2. `npm ci` 3. Make a copy of `bot.env.example` called `bot.env`, fill in the values @@ -14,7 +34,7 @@ These instructions are intended for bot development only. with automatic restart on file changes 5. When testing, make sure you have your test server in the `allowed_guilds` table or the guild's config won't be loaded at all -## Running the API server +### Running the API server 1. `cd backend` 2. `npm ci` 3. Make a copy of `api.env.example` called `api.env`, fill in the values @@ -24,7 +44,7 @@ These instructions are intended for bot development only. * `npm run watch` to watch files and run the **bot and api both** in a **development** environment with automatic restart on file changes -## Running the dashboard +### Running the dashboard 1. `cd dashboard` 2. `npm ci` 3. Make a copy of `.env.example` called `.env`, fill in the values @@ -32,7 +52,7 @@ These instructions are intended for bot development only. * `npm run build` compiles the dashboard's static files to `dist/` which can then be served with any web server * `npm run watch` runs webpack's dev server that automatically reloads on changes -## Notes +### Notes * Since we now use shared paths in `tsconfig.json`, the compiled files in `backend/dist/` have longer paths, e.g. `backend/dist/backend/src/index.js` instead of `backend/dist/index.js`. This is because the compiled shared files are placed in `backend/dist/shared`. @@ -40,7 +60,7 @@ These instructions are intended for bot development only. `ava` and compiled `.js` files * To run the tests for the files in the `shared/` directory, you also need to run `npm ci` there -## Config format example +### Config format example Configuration is stored in the database in the `configs` table ```yml