maubot-ntfy
Ein maubot-Plugin, um ntfy-Topics zu abonnieren und deren Nachrichten in einen Matrix-Raum weiterzuleiten.
Funktionen
- Abonnieren von ntfy-Topics direkt aus einem Matrix-Raum
- Automatische Weiterleitung eingehender ntfy-Nachrichten an abonnierte Räume
- Unterstützung von Titeln, Tags, Emojis, Anhängen, Klick-URLs und View-Actions
- Konfigurierbare Berechtigungen (Admins und Power-Level ≥ 50)
- Persistente Speicherung der Abonnements in einer Datenbank
- Automatisches Wiederverbinden bei Verbindungsabbrüchen
Voraussetzungen
- Eine laufende maubot-Instanz
- Python-Paket
emoji(Version ≥ 2.0) für vollständige Emoji-Unterstützung (optional, aber empfohlen)
Installation
- Das Plugin als
.mbp-Datei bauen oder herunterladen. - In der maubot-Verwaltungsoberfläche als Plugin hochladen.
- Eine neue Instanz des Plugins erstellen und konfigurieren.
Hinweis: Solange maubot das automatische Installieren von Python-Abhängigkeiten nicht unterstützt, muss das
emoji-Paket manuell installiert werden (pip install emoji).
Konfiguration
Die Konfiguration erfolgt über die maubot-Instanz-Einstellungen. Die Standardwerte befinden sich in der Datei base-config.yaml:
# Befehlspräfix für alle Befehle dieses Bots (muss in Matrix mit ! vorangestellt werden)
command_prefix: ntfy
# Benutzer, die den Bot immer steuern dürfen
admins:
- "@admin:example.com"
# Konfigurierbarer Nachrichten-Header
message_prefix: "Ntfy message in topic"
message_topic_display: "full"
| Einstellung | Beschreibung |
|---|---|
command_prefix |
Präfix für alle Bot-Befehle (Standard: ntfy, Aufruf in Matrix: !ntfy) |
admins |
Liste von Matrix-Benutzern, die den Bot unabhängig vom Power-Level steuern dürfen |
message_prefix |
Text vor der Topic-Info im Nachrichten-Header (Standard: Ntfy message in topic). Leer lassen ("") um keinen Prefix anzuzeigen. |
message_topic_display |
Steuert die Anzeige der Topic-Info: full (Server/Topic), topic_only (nur Topic), server_only (nur Server), none (nichts) |
Benutzer, die nicht in der Admin-Liste stehen, benötigen ein Power-Level von mindestens 50 im jeweiligen Raum.
Befehle
| Befehl | Alias | Beschreibung |
|---|---|---|
!ntfy subscribe server/topic |
!ntfy sub server/topic |
Aktuellen Raum für ein ntfy-Topic abonnieren |
!ntfy unsubscribe server/topic |
!ntfy unsub server/topic |
Abonnement eines ntfy-Topics für diesen Raum aufheben |
Beispiele
!ntfy subscribe ntfy.sh/mein_topic
!ntfy unsub ntfy.sh/mein_topic
Das Topic-Format ist immer server/topic, z. B. ntfy.sh/mein_topic oder mein-server.de/alerts.
Nachrichtenformat
Eingehende ntfy-Nachrichten werden als formatierte Matrix-Nachrichten weitergeleitet und enthalten:
- Topic-Herkunft (
server/topic) - Titel (falls vorhanden, optional mit Klick-URL verlinkt)
- Nachrichtentext
- Emoji-Tags (als Präfix vor Titel/Text)
- Weitere Tags (als Code-Block unter der Nachricht)
- View-Actions (als anklickbare Links)
- Anhänge (als Download-Link)
Lizenz
Dieses Projekt ist unter der AGPL-3.0-or-later lizenziert.
Fork-Hinweis: Dieses Projekt ist ein Fork des originalen maubot-ntfy von catgirl.cloud.