Post a message to a matrix room with a simple HTTP POST
Find a file
Jochen Kupperschmidt 139ec1670c Use aiohttp.web.json_response()
Avoids explicit setting of JSON content type, handles serialization to
JSON.
2020-12-27 14:43:01 +01:00
.pre-commit-config.yaml pre-commit 2020-03-08 22:15:48 +01:00
docker-compose.yml remove the need for www 2020-06-07 10:31:21 +02:00
Dockerfile markdown 2020-03-14 17:26:57 +01:00
LICENSE update license 2020-03-14 17:28:20 +01:00
matrix_webhook.py Use aiohttp.web.json_response() 2020-12-27 14:43:01 +01:00
README.md remove the need for www 2020-06-07 10:31:21 +02:00

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 homeserver
  • MATRIX_ID: the user id of the bot on this server
  • MATRIX_PW: the password for this user
  • API_KEY: a secret to share with the users of the service

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)

Test room

#matrix-webhook:tetaneutral.net