Ordner in Discord anlegen

Unter Discord können sogenannte Server erstellt werden. Problematisch wird es, wenn der Nutzer mehr als ein paar Server abonniert oder erstellt hat. Die Anordnung der Server wird dann relativ schnell unübersichtlich.

Die Server in Discord können in Ordner organisiert werden

Seit 2019 gibt es eine Möglichkeit unter Discord Ordner anzulegen, um die einzelnen Server besser zu organisieren. Allerdings ist die Möglichkeit ein wenig versteckt. So existiert kein Menüpunkt, um einen neuen Ordner zu erstellen. Stattdessen muss ein Server auf einen anderen Server gezogen werden. Damit wird ein neuer Ordner angelegt. Dieser kann dann konfiguriert werden; so kann ein Name und eine Farbe definiert werden.

Freies Soundboard nun mit Broadcast-Funktionalität

Vor einigen Jahren hatte ich ein Soundboard entwickelt, welches ich vor allem für Pen & Paper-Rollenspiele benutzt habe. In Zeiten einer weltweiten Pandemie wäre es ziemlich unverantwortlich sich für ein solches Pen & Paper zusammen in einen Raum zu sitzen. Aus diesem Grund habe ich mein Soundboard um eine Broadcast-Funktionalität erweitert. Damit kann der Gamemaster die Master-Komponente nutzen, während die Spieler die Broadcast-Variante benutzen.

Das neue Soundboard; nun mit einer Remote-Komponente

Technisch läuft die Kommunikation der einzelnen Clients mit der Master-Komponente über einen Websocket-Server der in PHP implementiert wurde. Wenn der Gamemaster einen Clip abspielt, wird dieser bei den Spielern ebenfalls abgespielt. Jeder Spieler kann die Gesamtlautstärke individuell einstellen, während der Gamemaster die relative Lautstärke der Clips zueinander einstellen kann.

Zur Nutzung des Soundboard müssen die Soundclips in den assets-Ordner kopiert werden und dazu eine passende boards.json-Datei geschrieben werden. Ein Beispiel dieser Datei befindet sich im Repository. Anschließend kann das Soundboard im Browser genutzt werden. Soundclips können einzeln oder in einer Schleife abgespielt werden. Für jeden Clip lässt sich daneben die Lautstärke einzeln regeln. Auch das Abspielen von mehreren Clips parallel ist kein Problem. Zu finden ist das Soundboard auf GitHub. Lizenziert ist es unter der AGPL in der Version 3 und somit freie Software.

Same-Origin-Policy im Firefox für lokale Dateien deaktivieren

Der Zugriff auf lokale Dateien im Firefox ist aufgrund der Same-Origin-Policy im Normalfall nicht möglich. So kann z.B. eine lokale Datei nicht per AJAX nachgeladen werden:

Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf file:///path/to/file/test.json. (Grund: CORS-Anfrage war nicht http).

Das Feature an sich ist sinnvoll, doch manchmal soll dieses für Entwicklerzwecke abgeschaltet werden. Dies kann über den Aufruf von about:config erreicht werden.

about:config wird aufgerufen

In den Einstellungen findet sich das Attribut:

privacy.file_unique_origin

Wird dieser Wert auf false gesetzt können die Dateien lokal unter Aufhebung der Same-Origin-Policy geladen werden.

Sektoren, Sektoren, Sektoren

Im Netz existieren die unterschiedlichsten Generatoren für Karten in Bezug auf Pen & Paper-Rollenspiele. Mit Dungeon Scrawl hatte ich einen solchen Kartengenerator vor kurzem vorgestellt. Daneben existieren Generatoren für andere Zwecke, wie z.B. die Generierung von großräumigen Karten. Mit dem Generator Sectors Without Number können Sektorenkarten für das Weltall generiert werden.

sectorswithoutnumber.com

Zu den Sektoren werden Entitäten wie Asteroiden, schwarze Löcher, Monde, Planeten und viele andere Dinge generiert. Nach der Erstellung kann die Karte und die entsprechenden Listen der Entitäten in unterschiedliche Formate exportiert werden. Zu finden ist der Generator unter sectorswithoutnumber.com.

Dateien automatisch einzeln einem Git-Repository hinzufügen

Manchmal gibt es sehr spezielle Anforderungen, bei denen sich keine vorgefertigte Lösung findet. In meinem Fall war es die Anforderung eine Menge an Dateien jeweils einzeln einem Git-Repository hinzuzufügen. Herausgekommen ist ein kleines Bash-Skript:

#!/bin/bash

IFS=$'\n'; set -f

for f in $(find . -not -path '*/\.*' -type f); 
do 

  echo "$f";
  git add "$f"
  git commit -m "Add file $f"
  
done

unset IFS; set +f

Das Skript wird im entsprechenden Pfad hinterlegt und sucht anschließend nach allen Dateien, inklusive Unterordnern. Jede gefundene Datei wird anschließend einzeln dem Git-Repository hinzugefügt und anschließend ein Commit für diese Datei erzeugt.