Matrix backend plugin for Errbot
Project description
Errbot Matrix Backend
A fully functional, modern Matrix backend for Errbot built using matrix-nio.
Features
- Connection to any Matrix homeserver via username/password or access token.
- Automatic acceptance of room invitations.
- Formatted messages (HTML/xhtml and markdown) sent and received natively.
- Full support for threaded replies using standard Matrix relations.
- Support for End-to-End Encryption (E2EE) using
matrix-nio's database storage.
Requirements
- Python 3.11 - 3.14
errbot>= 6.2.0matrix-nio>= 0.24.0
Installation
Local Installation for Development
You can install the backend locally inside your Errbot virtual environment:
pip install -e .
Creating a Bot Account on Matrix
Errbot connects to the Matrix network using a standard Matrix user account. To set up an account for your bot:
-
Register the User Account:
- Open a Matrix client such as Element.
- Register a new account on your desired homeserver (e.g.,
matrix.orgor a self-hosted instance). - Save the bot's full User ID (MXID, e.g.,
@my_errbot:matrix.org) and password.
-
(Optional) Obtain an Access Token:
- If you prefer to authenticate using a login token rather than storing a plaintext password in
config.py:- Log in to Element using the bot account.
- Open Settings -> Help & About -> scroll down to the Advanced section and copy the Access Token.
- Paste this token into the
BOT_IDENTITYdictionary under thetokenkey.
- If you prefer to authenticate using a login token rather than storing a plaintext password in
-
Invite the Bot:
- Start a chat with the bot's MXID or invite the bot to a room. The backend is configured to automatically accept invites by default.
Configuration
To use the Matrix backend, update your Errbot config.py file with the following settings:
# Set the backend to 'Matrix'
BACKEND = 'Matrix'
# Provide connection credentials and settings
BOT_IDENTITY = {
# The Matrix homeserver URL
'homeserver': 'https://matrix.org',
# The full Matrix user ID (MXID) of the bot
'username': '@my_errbot:matrix.org',
# Authentication (use either password OR token)
'password': 'my-secure-password',
# 'token': 'syt_your_access_token_here...',
# Optional settings:
# 'device_id': 'ERRBOT_DEVICE',
# 'ssl': True,
# 'proxy': 'http://proxy.example.com:8080',
# 'auto_join_on_invite': True,
# To enable End-to-End Encryption (E2EE), provide a path for the database store:
# 'store_path': '/path/to/errbot/matrix_store'
}
End-to-End Encryption (E2EE) Support
To use End-to-End Encryption in rooms, you must:
- Ensure the
libolmsystem library is installed (on macOS,brew install libolm; on Debian/Ubuntu,apt-get install libolm-dev). - Specify a
'store_path'insideBOT_IDENTITYinconfig.pywherematrix-niocan store its encryption keys.
Running the Bot
Start Errbot normally:
errbot
Publishing to PyPI
This project uses modern PEP 517/518 build standards. To publish the package to PyPI:
-
Install build and upload tools:
pip install build twine
-
Build the package distribution files:
python -m build
This will generate a
.tar.gzsource archive and a.whlwheel file inside thedist/directory. -
Verify the built packages:
twine check dist/*
-
Upload to PyPI:
twine upload dist/*
(Note: You will be prompted to enter your PyPI API token. Use
__token__as the username and your token string starting withpypi-as the password).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file errbot_backend_matrix-0.0.1.tar.gz.
File metadata
- Download URL: errbot_backend_matrix-0.0.1.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14b5c807194ad41dc26c60130cdb124ffe6f0b9fcf73770d6e8527cac870ebdb
|
|
| MD5 |
655bac62c1e4a3b5c0c204b7d3cd27e5
|
|
| BLAKE2b-256 |
59191920f83524afa7e2543c81f04ffb4ffda311aae621595684e866bca9ed05
|
File details
Details for the file errbot_backend_matrix-0.0.1-py3-none-any.whl.
File metadata
- Download URL: errbot_backend_matrix-0.0.1-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0fe0371e7a0ab4c15c18c213c5f15e87194f16a276ce5194338243ea852f1d9
|
|
| MD5 |
163fbcad16d437d86ae1776aa41a6981
|
|
| BLAKE2b-256 |
d7a3cc7f4fe075dbf24a10bd676028cda6779458174433abb41e2649d1c5770a
|