## About

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 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`.

> 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

## 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.

    The Riches' butler who attends to the Rich estate. British born, Cadbury gives the image of propriety and service. When need demands however, he becomes a tough, man of action. Cadbury is also a master hypnotist, ventriloquist and wood-carver.


