Seit einigen Jahren betreibe ich einen Matrix Messenger auf meinem Server zum Austausch mit anderen. Dort gibt es auch einen Raum wo sich Follower des Blogs untereinander austauschen können. Was mir noch fehlte: neue Beiträge aus RSS-Feeds direkt in einem Raum posten. Dafür nutze ich nun Hookshot. Die Einrichtung hat mich kurz ausgebremst, weil ich den Bot zuerst wie einen normalen Kontakt per Direktnachricht eingeladen habe. Die Antwort war wenig hilfreich: „This bot does not support Admin Rooms.“ Im eigentlichen Raum mit Moderatorberechtigung klappte es dann. Nun ein paar Worte zur Einrichtung.
RSS in Hookshot aktivieren
Auf meinem Server liegt die Hookshot-Konfiguration unter /matrix/hookshot/config.yml. Wer Hookshot anders installiert hat, muss die Datei im eigenen Projekt suchen. Für RSS reicht zunächst dieser Abschnitt:
feeds:
enabled: true
pollIntervalSeconds: 600Damit fragt Hookshot abonnierte RSS- und Atom-Feeds ungefähr alle zehn Minuten ab. Eine kürzere Zahl bedeutet nicht, dass sofort nach Veröffentlichung eine Nachricht erscheint. Nach Änderungen an der Konfiguration muss Hookshot neu gestartet werden. Vorher sichere ich mir die Datei, damit ich einen Tippfehler leicht zurücknehmen kann.
Mein eigener Feed-Bot
Bei mir gibt es den Dienst-Bot @feeds:matrixbox.de. Er kümmert sich nur um Feeds. Der entsprechende Abschnitt sieht schematisch so aus:
serviceBots:
- localpart: feeds
displayname: RSS Feeds
prefix: "!feeds"
service: feedsDie Domain matrixbox.de ist meine; auf eurem Server steht hier natürlich eure eigene. Wichtig war zusätzlich der passende Benutzer-Namespace in der Appservice-Registrierung: Hookshot muss den Benutzer @feeds:matrixbox.de überhaupt verwalten dürfen. Die abgelehnte Direktnachricht war dagegen ein eigener Stolperstein: Feed-Befehle gehören bei dieser Einrichtung in den Raum. Wer nur den normalen Hookshot-Bot nutzt, verwendet stattdessen dessen Präfix !hookshot.
Raum anlegen und Feed hinzufügen
Ich habe einen eigenen Matrix-Raum für die Meldungen angelegt und @feeds:matrixbox.de eingeladen. Der Bot braucht dort die Berechtigung, Zustandsereignisse zu senden; in vielen Clients entspricht das der Moderator-Rolle. Den Raum würde ich für den ersten Test unverschlüsselt lassen, sofern die Hookshot-Installation keine Verschlüsselung eingerichtet hat.
Jetzt kommt der eigentliche Befehl, als Nachricht im Raum:
!feeds feed https://osthessen-news.de/rss_feed.xmlDie Adresse ist nur ein Beispiel aus meinen Feeds. Entscheidend ist die URL zur RSS- oder Atom-Datei, nicht zur Startseite. Mit !feeds feed list sehe ich, welche Feeds dieser Raum abonniert hat. Hookshot überträgt beim ersten Abgleich keine alten Beiträge. Für den Funktionstest muss also ein neuer Eintrag im Feed erscheinen; bloß zehn Minuten warten und in den leeren Raum schauen wäre kein aussagekräftiger Test.
Feeds ändern und auf dem Laufenden halten
Neue Einträge holt Hookshot nach dem eingestellten Intervall selbst ab. Will ich dagegen die Adresse eines Feeds ändern, lasse ich mir zunächst mit !feeds feed list die genaue alte URL anzeigen. Dann entferne ich sie und füge die neue Adresse hinzu:
!feeds feed remove https://alte-adresse.example/feed.xml
!feeds feed https://neue-adresse.example/feed.xmlAuch hier gilt: Die bisher vorhandenen Einträge der neuen Adresse werden beim ersten Abgleich als bereits gesehen behandelt. Läuft der Bot gar nicht, kontrolliere ich zuerst seine Mitgliedschaft und Rechte im Raum, danach die Hookshot-Protokolle. Bei häufigen Neustarts lohnt außerdem ein Blick auf Redis: Laut Hookshot-Dokumentation bleiben bereits gesehene Feed-Einträge nur damit über einen Neustart hinweg erhalten.
Damit landen meine Feeds dort, wo ich ohnehin mit anderen Diensten kommuniziere. Wie mein Matrix-Server entstanden ist, steht in meinem Beitrag Matrix Server in Betrieb. Die vollständigen Befehle und Hinweise zum ersten Abgleich stehen in der Hookshot-Dokumentation zu Feeds; die Einrichtung eines eigenen Feed-Bots ist dort bei den Service-Bots beschrieben.


Gedanken dazu 0 Kommentare
Noch ist es ruhig hier. Dein Gedanke könnte der erste sein.
Du kannst den Link auch in der Suche deiner eigenen Instanz öffnen. Öffentliche Antworten und bei Sharkey auch Home-Antworten können hier als Kommentare erscheinen. Antworten anderer Personen erscheinen nach Freigabe, deine eigenen direkt nach dem Abruf. Antworten nur für Follower werden nicht übernommen.
Was denkst du dazu?
Dein Kommentar erscheint nach der Freigabe.