Post a message to a matrix room with a simple HTTP POST
.github/workflows | ||
tests | ||
.gitignore | ||
.pre-commit-config.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
matrix_webhook.py | ||
README.md | ||
setup.cfg | ||
test.yml |
Matrix Webhook
Post a message to a matrix room with a simple HTTP POST
Configuration
Create a matrix user for the bot, make it join the rooms you want it to talk into, and then set the following environment variables:
MATRIX_URL
: the url of the matrix homeserverMATRIX_ID
: the user id of the bot on this serverMATRIX_PW
: the password for this userAPI_KEY
: a secret to share with the users of the serviceHOST
: HOST to listen on, all interfaces if''
(default).PORT
: PORT to listed on, default to 4785.
Dev
pip3 install --user markdown matrix-nio
./matrix_webhook.py
Prod
- Use Traefik on the
web
docker network, eg. with proxyta.net - Put the configuration into a
.env
file - Configure your DNS for
${CHATONS_SERVICE:-matrixwebhook}.${CHATONS_DOMAIN:-localhost}
docker-compose up -d
Test / Usage
curl -d '{"text":"new contrib from toto: [44](http://radio.localhost/map/#44)", "key": "secret"}' \
'http://matrixwebhook.localhost/!DPrUlnwOhBEfYwsDLh:matrix.org'
(or localhost:4785 without docker)