← Projekte

Matrix Bot

In Arbeit Juni 2026 matrixpythonbots

Worum es geht

Ein selbst gehosteter Bot für Matrix, das offene Protokoll für dezentrale Kommunikation. Das Ziel ist ein kleiner, zuverlässiger Assistent, der in einem Raum lebt, auf Befehle reagiert und sich erweitern lässt, ohne gegen das Framework zu kämpfen.

Warum bauen

Matrix ist offen, föderiert und Ende-zu-Ende-verschlüsselt — der ideale Ort, um eigene Automatisierung laufen zu lassen, ohne die Gespräche einem Dritten zu überlassen. Die meisten bestehenden Bots sind entweder überladen oder verwaist, also ist das ein guter Anlass, das Protokoll richtig zu lernen und die beweglichen Teile minimal zu halten.

Die Entstehung

Die Wahl des Stacks

Der Bot ist in Python auf Basis von matrix-nio geschrieben, der asynchronen Client-Bibliothek. Er läuft als langlebiger Prozess, der sich mit dem Homeserver synchronisiert und auf Ereignisse reagiert.

Erste Nachricht

Der kleinste sinnvolle Meilenstein: einloggen, einem Raum beitreten und alles zurückgeben, was mit einem Befehls-Präfix beginnt.

async def on_message(room, event):
    if event.body.startswith("!ping"):
        await client.room_send(
            room.room_id,
            message_type="m.room.message",
            content={"msgtype": "m.text", "body": "pong"},
        )

Verschlüsselung

Matrix-Räume sind oft Ende-zu-Ende-verschlüsselt, das heißt der Bot muss Geräteschlüssel verwalten und Sitzungen verifizieren. Das war der kniffligste Teil — den Speicher so persistent zu machen, dass die Schlüssel einen Neustart überleben und der Bot Nachrichten weiter lesen kann.

Deployment

Der Bot läuft als systemd-Dienst auf einem kleinen VPS, startet bei Fehlern neu und hält seinen Verschlüsselungsspeicher auf einem persistenten Volume.

Was als Nächstes kommt

Du verfolgst das Projekt oder möchtest ein Feature vorschlagen? Nimm Kontakt auf.