X-Git-Url: https://apps.delaporte.us/gitweb/matrix-cadbury.git/blobdiff_plain/caa0cd11f78960cf0b97008f3bbe3742db402d8c..4928d167ec4e696dc11463d83b1d8f76aba2d503:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 3a7d40b..a18c5c1 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,58 @@ Cadbury is a friendly composable multi-purpose Matrix bot. -See `pyproject.toml` for the dependencies, and not that each is a separate dedicated bot role. Bots roles are composed in `app.py` before connecting to the Matrix server. +See `pyproject.toml` for the dependencies. +Note that each dependency provides a separate dedicated bot role. +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 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 Named for Cadbury C. Cadbury, or Herbert Arthur Runcible Cadbury.