Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:23.shack

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
project:23.shack [2010-12-24 16:34] ::ffff:212.9.189.66project:23.shack [2022-04-20 11:04] (aktuell) chris
Zeile 1: Zeile 1:
 ===== 23.shack ===== ===== 23.shack =====
 +
 +{{tag>project software computing infrastructure}}
 +{{process:shack-heritage-badge.png}}
  
 auf telnet.shack port 23/tcp laeuft ein service der diversen audio-foo per auf telnet.shack port 23/tcp laeuft ein service der diversen audio-foo per
Zeile 6: Zeile 9:
 ==== struktur ==== ==== struktur ====
  
-''/root/noise/modules'' - module +Jede ausführbare Datei im Verzeichnis 
 +''/root/noise/modules'' 
 +steht dem Benutzer als Befehl zur Verfügung. 
 + 
 +So kann beispielsweise ein neuer Befehl ''/foo'' hinzugefügt werden indem die Datei 
 +''/root/noise/modules/foo'' erstellt wird. 
 + 
 +Befehle werden auch Module genannt.
  
-jedes modul stellt ein executable dar.  +Module sollten folgende Eingenschaften aufweisen: 
-es sollte die option ''--help'' erkennen und dann eine einzeilge hilfe ausgeben+  * Wird das Modul mit dem Argument ''--help'' aufgerufen, so sollte es eine kurze Befehlsbeschreibung ausgeben.  Diese Beschreibung ... 
 +    * ... sollte genau eine Zeile lang sein. 
 +    * ... sollte keine Escapesequenzen beinhalten. 
 +    * ... sollte maximal 42 Zeichen lang sein. 
 +  * Wird das Modul mit den Argumenten ''--help'' und ''--verbose'' aufgerufen, so sollte es eine vollständige Befehlsbeschreibung ausgeben.  Diese Beschreibung ... 
 +    * ... kann beliebig viele Zeilen lang sein.  Jede dieser Zeilen ... 
 +      * ... sollte maximal 78 Zeichen lang sein. 
 +    * ... sollte normalen Text in lila darstellen. 
 +      * Lila kann in Shell mit ''echo -e 'normaler text \x1B[35mLILA TEXT\x1B[m normaler Text''' erzeugt werden. 
 +    * ... sollte Befehle und dazugehörige Argumente in grün darstellen. 
 +      * Grün kann in Shell mit ''echo -e 'normal \x1B[35mgrün\x1B[m wieder normal''' erzeugt werden.
  
-==== interface ====+==== user-interface ====
  
 <code>nc telnet.shack 23</code> <code>nc telnet.shack 23</code>
Zeile 23: Zeile 43:
 startet das angegebene modul startet das angegebene modul
  
-module stand 2010-12-24:+module stand 2010-12-28:
 <code> <code>
 type /chat to send text to everyone with @@ prepended type /chat to send text to everyone with @@ prepended
Zeile 38: Zeile 58:
 type /sendmail to send an e-mail ( "TO(s)" "SUBJECT" [string instead of EOF]) type /sendmail to send an e-mail ( "TO(s)" "SUBJECT" [string instead of EOF])
 type /set to set a variable type /set to set a variable
 +type /shackstatus to report status of all shack services.
 type /sleep to pause for NUMBER seconds type /sleep to pause for NUMBER seconds
 type /stream to play an audio stream type /stream to play an audio stream
Zeile 46: Zeile 67:
 type /zeit to say current time type /zeit to say current time
 </code> </code>
 +
 +=== interne kommunikation ===
 +
 +die mit ''/'' angefuehrten kommandos koennen an eine named pipe
 +uebergeben werden, um komplexere ausgaben zu erzeugen.
 +
 +diese wird unter ''/tmp/noise/<pid>/linefeed'' bereit gestellt.
 +der aktuelle pfad kann aus der variablen ''$NOISE_linefeed'' gelesen werden.
 +
 +=== /set ===
 +
 +mit ''/set'' koennen betriebsparameter gesetzt werden
 +  * ''/set pitch 10'' .. ''/set pitch 100'' - tonhoehe der sprachsynthese
  
 === /play === === /play ===
Zeile 77: Zeile 111:
         website="http://somafm.com/"         website="http://somafm.com/"
 /> />
 +</code>
 +
 +== funktion ==
 +
 +bei aufruf wird der beschriebene stream mit mplayer in hintergrund abgespielt.
 +dessen pid wird in ''/tmp/noise/stream.pid'' abgelegt.
 +beim aufruf eines ''/stream''-kommandos wird zunaechst diese datei gelesen und
 +die darin hinterlegte pid gekillt.
 +
 +=== /zeit ===
 +
 +''/zeit'' gibt die aktuelle Uhrzeit per espeak aus.
 +
 +Die automatische Ansage alle 30 Minuten wird von der Datei 
 +''/etc/cron.d/noise-zeit'' gesteuert.
 +
 +=== /shackstatus ===
 +
 +verbalisierter systemcheck beim systemstart. hierzu gehoert die datei
 +''/etc/cron.d/noise-shackstatus''
 +
 +==== GIT-Repository ====
 +
 +einchecken von aenderungen:
 +
 +<code>
 +cd ~root/noise
 +export GIT_COMMITTER_NAME=<ausfuellen> GIT_AUTHOR_NAME=<ausfuellen>
 +git add modules/stream
 +git commit -m 'added module: stream'
 </code> </code>
  
project/23.shack.1293204883.txt.gz · Zuletzt geändert: 2010-12-24 16:34 von ::ffff:212.9.189.66