From 0dee58823158777a77c942f767a627d567a9887b Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Fri, 8 Nov 2019 00:20:24 +0200 Subject: [PATCH] Update README instructions and example config, add some notes --- README.md | 66 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 8f97674c..8960c6f8 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,39 @@ These instructions are intended for bot development only. 👉 **No support is offered for self-hosting the bot!** 👈 ## Running the bot -1. `npm ci` -2. Make a copy of `bot.env.example` called `bot.env`, fill in the values -3. Run the desired start script: -\- `npm run start-bot-dev` to run the bot with `ts-node` -\- `npm run build` followed by `npm run start-bot-prod` to run the bot compiled -\- `npm run watch-bot` to run the bot with `ts-node` and restart on changes -4. 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 +1. `cd backend` +2. `npm ci` +3. Make a copy of `bot.env.example` called `bot.env`, fill in the values +4. Run the desired start script: + * `npm run start-bot-dev` to run the bot with `ts-node` + * `npm run build` followed by `npm run start-bot-prod` to run the bot compiled + * `npm run watch-bot` to run the bot with `ts-node` and restart on 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 -1. `npm ci` -2. Make a copy of `api.env.example` called `api.env`, fill in the values -3. Run the desired start script: -\- `npm run start-api-dev` to run the API server with `ts-node` -\- `npm run build` followed by `npm run start-api-prod` to run the API server compiled -\- `npm run watch-api` to run the API server with `ts-node` and restart on changes +1. `cd backend` +2. `npm ci` +3. Make a copy of `api.env.example` called `api.env`, fill in the values +4. Run the desired start script: + * `npm run start-api-dev` to run the API server with `ts-node` + * `npm run build` followed by `npm run start-api-prod` to run the API server compiled + * `npm run watch-api` to run the API server with `ts-node` and restart on changes ## Running the dashboard -1. Navigate to `dashboard/` +1. `cd dashboard` 2. `npm ci` 3. Make a copy of `.env.example` called `.env`, fill in the values -4. Run the desired start script: -\- `npm run build` compiled the dashboard's static files in `dist/` which can then be served with any web server -\- `npm run watch` runs Parcel.js's dev server that automatically reloads on changes +4. Run the desired start script: + * `npm run build` compiled the dashboard's static files in `dist/` which can then be served with any web server + * `npm run watch` runs Parcel.js's dev server that automatically reloads on changes + +## 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`. +* The `backend/register-tsconfig-prod-paths.js` module takes care of registering shared paths from `tsconfig.json` for + `ts-node`, `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 Configuration is stored in the database in the `configs` table @@ -49,14 +59,24 @@ plugins: - level: '>=100' config: kick_message: 'You have been kicked by an admin' - spam: + + other_plugin: config: - filter_words: ['heck'] + categories: + mycategory: + opt: "something" + othercategory: + enabled: false + opt: "hello" overrides: - - channel: '1234' - config: - +filter_words: ['foo'] - level: '>=50' config: - -filter_words: ['heck'] + categories: + mycategory: + enabled: false + - channel: '1234' + config: + categories: + othercategory: + enabled: true ```