Wie Roboter tröten (2)

„If my doctor told me I only had six minutes to live, I wouldn’t brood. I’d type a little faster.“

Isaac Asimov

Im letzten Beitrag wurde ein erster Bot für Mastodon erstellt. Der Bot postet mittlerweile drei mal täglich um 8:00, 12:00 und 16:00 Uhr ein englischsprachiges Zitat auf Mastodon. Obwohl die Anwendung schon hinreichend arbeitet, fehlen noch Kleinigkeiten zum dauerhaften Einsatz.

Neben dem Zitat und den Informationen zum Autoren werden einige Hashtags ans Ende der Statusmeldung gesetzt.

Alter Tröt mit Hashtags für die Kategorien des Zitats

Diese Hashtags ergeben sich aus den Tags der Zitatenquelle. Da die Tags im Kebab Case geschrieben sind, muss die Schreibweise für die Hashtags angepasst werden. Die Hashtags werden in Pascal Case mit führenden # umgeschrieben.

Schön wäre ein weiterer Hashtag für den Autoren, damit das Zitat auf Mastodon auch so entdeckt werden kann. Erfreulicherweise liefert die Zitatenquelle zum Zitat auch einen Autor Slug. Der Autor Slug ist der Name des Autoren in Kebab Case. Er kann also mit der gleichen Methode in Pascal Case umgewandelt werden, die auch die Tags umwandelt.

Da die Tags in einem Stream umgewandelt werden, muss dort nur der Autor Slug eingefädelt werden.

Stream<String> tagStream = quotation.getTags().stream();
Stream<String> slugStream = Stream.of(quotation.getAuthorSlug());
quotation.setTags(Stream.concat(tagStream, slugStream).map(this::toCamelCase).toList());

Mit dieser kleinen Ergänzung findet sich bei den neuen Zitaten nun auch der Name des Autoren unter den Hashtags.

Neuer Beitrag mit zusätzlichem Hashtag für den Autoren.

Für die ersten Runden des Bots lief die Anwendung auf einem privaten Notebook. Da dieser aber nicht immer zwischen 8:00 und 16:00 Uhr im Betrieb ist, musste eine andere Lösung her. Die Anwendung auf einem dedizierten Server in einem Rechenzentrum laufen zu lassen, wäre möglich gewesen. Da aber in der Schublade noch ein Raspberry Pi lag, sollte die Anwendung auf den kleinen Rechner deployed werden.

Die Anwendung für die Quick Quotes verwendet Spring Boot unter Java 17. Aktuell steht für den Raspberry PI standardmäßig nur Java 11 zur Verfügung. Mit SDKMAN sind aber auch andere JDK Versionen installierbar.

sudo apt install zip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

sdk install java 17.0.5-librca

Danach muss nur die Java Anwendung gestartet werden und der eigene Quick Quotes Server mit passender Beschriftung kann seine Arbeit aufnehmen.

Der Raspberry Pi für die Quick Quotes

Schreibe einen Kommentar