Matrix-Roomba
Roomba is a moderation bot for Matrix, designed to help manage rooms and enforce content policies. The bot can block/unblock rooms, shut down rooms, and notify users of shutdowns. It integrates with Synapse's administrative API and supports optional encryption through Pantalaimon.
Installation
pip install matrix-roomba
Configuration
The following configuration options are available:
homeserver: "https://matrix.example.com"
user_id: "@roomba:example.com"
access_token: "YOUR_ACCESS_TOKEN"
moderation_room_id: "!moderation_room_id:example.com"
# Debug mode - set to true for verbose logging
debug: false
# If your moderation room is encrypted, use Pantalaimon:
pantalaimon:
homeserver: "http://localhost:8010"
access_token: "YOUR_PANTALAIMON_ACCESS_TOKEN"
Ensure that the bot user is an admin on the homeserver, as it needs to be able to moderate rooms. Also add the user to the moderation room before starting the bot.
We recommend using pantalaimon as a proxy, because the bot itself does not support end-to-end encryption.
Debug Mode
You can enable debug mode in two ways:
- Set
debug: truein your config.yaml file for persistent debug logging - Use the
!roomba debugcommand in the moderation room to toggle debug mode at runtime
When debug mode is enabled, the bot will output detailed logs about:
- API requests and responses
- Room and user information
- Command processing
- Matrix client operations
This is useful for troubleshooting issues with the bot or understanding its behavior.
Usage
- Start the bot:
roomba
- Send a message to the moderation room to get a list of available commands:
!roomba
Commands
In the moderation room, send commands to manage rooms:
- Block a room: !roomba block <room_id>
- Unblock a room: !roomba unblock <room_id>
- Shutdown a room: !roomba shutdown <room_id> [--purge]
- For help: !roomba
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for matrix-roomba 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matrix_roomba-0.1.4.tar.gz | 8.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| matrix_roomba-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / matrix_roomba-0.1.4.tar.gz
| Download URL | matrix_roomba-0.1.4.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b3fac8a5a2ff89364868f8cab5e1070d5cd0334dc237bcb10db43eb746c2ef2
|
|
BLAKE2b-256 checksum How to use checksums |
ba916736296fca26fbd32d8cd268e7729de53bcde192deb9c0a237bf67bcfc79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.2
|
Release files / matrix_roomba-0.1.4-py3-none-any.whl
| Download URL | matrix_roomba-0.1.4-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
33fbcad97387ab1603d66ee8a0bde8691bc8c25a11856b24fa17070504477c3f
|
|
BLAKE2b-256 checksum How to use checksums |
bcab112c0cde86832784014e8a94d385d31cedeaf22d1641b980fe8578982551
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.2
|