X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-cadbury.git/blobdiff_plain/a6d33d8a50c3175c420cbe5a818d8061b14c8a96..dd3f0689ad7f9a014ccda286cc283cbcaa15fd65:/README.md diff --git a/README.md b/README.md index e28db46..a18c5c1 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,55 @@ Cadbury is a friendly composable multi-purpose Matrix bot. See `pyproject.toml` for the dependencies. Note that each dependency provides a separate dedicated bot role. -Bots roles are composed in `app.py` before connecting to the Matrix server. +Bots roles are composed with a couple lines of code in `app.py` before connecting to the Matrix server. Although each bot role can run separately with separate credentials, the purpose of `Cadbury` is to compose several together under a single Matrix bot login. +## Getting Started + +Create a bot account on your Matrix server, and set the necessary environment variables: `MATRIX_SERVER`, `MATRIX_BOT`, `MATRIX_BOT_PWD`. + +Set `MATRIX_DATA_DIR` to an existing directory path where you would like Cadbury to store any `sqlite3` databases. + +Ensure that `python` and `sqlite3` are installed and available on the path. + +> Tip: Cadbury has no use for email. Your Matrix server may allow creating the bot account without an email account, using a `token` registration type. + +Run the bot with `make serve`, +or build a virtual environment and then run the bot with + +Or run the following commands to create the virtual environment: + + python -m venv .venv + .venv/bin/pip install . + +Then use the following command to launch the bot: + + .venv/bin/python app.py + +## Chatting + +Invite you Cadbury bot to a Matrix channel, and it will accept automatically, if it can. + +> Tip: Additional setup is required to add a Matrix bot to an encrypted channel. + +Use `!goal help` and `!chore help`, to get started. + +> Tip: Many bot roles require creating a sqlite3 database, and may require you to tell Cadbuary something like `!chore setup` one initial time to create the database file. + +## Backups + +Data is stored in sqlite3 files in `MATRIX_DATA_DIR`. +Everything Cadbuary knows is stored here. +The files found here can be explored or modified with any `sqlite3` client. + ## Remixing When creating your own unique mix of bot roles, consider creating a public fork of this repository and modifying `app.py` and `pyproject.toml` as needed. -Note that the AGPLv3 license, and please share your own modifications publicly, if you choose to use a modified version of this bot in a public setting. +Note the AGPLv3 license, and please share your own modifications publicly, if you choose to use a modified version of this bot in a public setting. ## About the Name