From 50aa02ccf1de40bc5f518d212a89c587c2b7d859 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 26 Apr 2010 15:19:51 +0200 Subject: Rewrite of SHACK UTTERANCE 0.9 beta 1 --- modules/help | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 modules/help (limited to 'modules') diff --git a/modules/help b/modules/help new file mode 100755 index 00000000..303af362 --- /dev/null +++ b/modules/help @@ -0,0 +1,15 @@ +#! /bin/sh +case "$1" in + (-*) : ;; # ignore all options + ('') { for directory in `echo "$NOISE_PATH" | tr : \ ` ; do + for module in "$directory"/* ; do + echo `basename "$module"` `$module --help` + done + done + ## print all documented built-in commands + sed -rn 's:^noise_([a-z]+)\(\) \{ # (.+)?$:\1 \2:p' "$NOISE" + } | sort | sed -rn ' + $s/$// + s:^([a-z]+) (.+):type /\1 to \2:p' ;; + (*) exit 23 ;; +esac -- cgit v1.2.3 From 3bf6c7a90c6d9141d2a5701203ba2fabe41a5c68 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 26 Apr 2010 16:34:51 +0200 Subject: Added modules: espeak lang msg play wall zeit --- modules/espeak | 17 +++++++++++++++++ modules/lang | 22 ++++++++++++++++++++++ modules/msg | 6 ++++++ modules/play | 31 +++++++++++++++++++++++++++++++ modules/wall | 9 +++++++++ modules/zeit | 15 +++++++++++++++ 6 files changed, 100 insertions(+) create mode 100755 modules/espeak create mode 100755 modules/lang create mode 100755 modules/msg create mode 100755 modules/play create mode 100755 modules/wall create mode 100755 modules/zeit (limited to 'modules') diff --git a/modules/espeak b/modules/espeak new file mode 100755 index 00000000..34c61e42 --- /dev/null +++ b/modules/espeak @@ -0,0 +1,17 @@ +#! /bin/sh +case "$1" in + (--help) echo say something with espeak ;; + (*) + p="${noise_pitch-100}" + v="${noise_lang-de}" + k="${noise_capital-0}" + a="${noise_amplitude-100}" + g="${noise_gap-1}" + echo pitch: $p + echo lang: $v + echo capital: $k + echo amplitude: $a + echo gap: $g + #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 + espeak -a $a -k $k -p $p -v $v -g $g "$*" & +esac diff --git a/modules/lang b/modules/lang new file mode 100755 index 00000000..07b6802e --- /dev/null +++ b/modules/lang @@ -0,0 +1,22 @@ +#! /bin/sh + +case "$1" in + (--help) + echo "set language or list available languages" ;; + (list) + espeak --voices | sed -n '1!p' | awk '{\ + printf"/lang %s set lang to %s\n",$2,$4 + }' ;; + ('') + echo /set lang >$NOISE_linefeed ;; + (*) + if test -z "$2" ; then + echo /set lang "$1" + else + echo /set lang "$1" + shift + echo "$*" + echo /set lang "${noise_lang-de}" + fi >$NOISE_linefeed +esac + diff --git a/modules/msg b/modules/msg new file mode 100755 index 00000000..344dd963 --- /dev/null +++ b/modules/msg @@ -0,0 +1,6 @@ +#! /bin/sh +case "$1" in + (--help) : ;; + (*) + echo "$*" +esac diff --git a/modules/play b/modules/play new file mode 100755 index 00000000..ea5e991c --- /dev/null +++ b/modules/play @@ -0,0 +1,31 @@ +#! /bin/sh +case "$1" in + (--help) + echo "play an audio file" ;; + (*) + ffs='wav mp3 ogg asf flac' + + if test -z "$*" ; then + ls ~shack/speak/sample | sed -r ' + s:\.('"`echo "$ffs" | tr \ \|`"')$: \1: + s:^:/play : + s:.*:&: + ' + else + for i in $ffs ; do + f=~shack/speak/sample/$1.$i + test -f "$f" && + case "$i" in + wav) aplay "$f" & ;; + *) mplayer "$f" & ;; + esac && break + done || cat<$client + echo /msg "$*" >$client + done +esac diff --git a/modules/zeit b/modules/zeit new file mode 100755 index 00000000..0b0537d3 --- /dev/null +++ b/modules/zeit @@ -0,0 +1,15 @@ +#! /bin/sh + +case "$1" in + (--help) + echo "say current time" ;; + (*) + exec >>$NOISE_linefeed + echo /set pitch 10 + case "$lang" in + (de|'') date +'"Es ist %k Uhr %M."' >$NOISE_linefeed ;; + (en|*-en) date +'"It is %k o clock and %M minutes"' >$NOISE_linefeed ;; + (*) echo "Error: unsupported lang = $lang" >&2 + esac + echo /set pitch ${noise_pitch-100} +esac 2>&1 -- cgit v1.2.3 From b6398b0e2388e5980cda35de487a7a37f5f3e214 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 26 Apr 2010 19:40:48 +0200 Subject: espeak: send text via stdin --- modules/espeak | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/espeak b/modules/espeak index 34c61e42..cda70fc8 100755 --- a/modules/espeak +++ b/modules/espeak @@ -13,5 +13,7 @@ case "$1" in echo amplitude: $a echo gap: $g #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 - espeak -a $a -k $k -p $p -v $v -g $g "$*" & + espeak -a $a -k $k -p $p -v $v -g $g< Date: Mon, 26 Apr 2010 19:41:23 +0200 Subject: play: fixed typo --- modules/play | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/play b/modules/play index ea5e991c..66295990 100755 --- a/modules/play +++ b/modules/play @@ -3,6 +3,7 @@ case "$1" in (--help) echo "play an audio file" ;; (*) + exec 2>&1 ffs='wav mp3 ogg asf flac' if test -z "$*" ; then @@ -22,7 +23,7 @@ case "$1" in done || cat< Date: Mon, 26 Apr 2010 19:56:39 +0200 Subject: play: changed sample dir to $HOME/noise/samples --- modules/play | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/play b/modules/play index 66295990..dcb8749f 100755 --- a/modules/play +++ b/modules/play @@ -7,14 +7,14 @@ case "$1" in ffs='wav mp3 ogg asf flac' if test -z "$*" ; then - ls ~shack/speak/sample | sed -r ' + ls $HOME/noise/samples | sed -r ' s:\.('"`echo "$ffs" | tr \ \|`"')$: \1: s:^:/play : s:.*:&: ' else for i in $ffs ; do - f=~shack/speak/sample/$1.$i + f=$HOME/noise/samples/$1.$i test -f "$f" && case "$i" in wav) aplay "$f" & ;; @@ -24,7 +24,7 @@ case "$1" in \ Keine Audiodatei mit dem Namen $1.EXT gefunden... \ am besten gleich uploaden: -$ scp NAME shack@shack:speak/sample/ +$ scp NAME $LOGNAME@shack:noise/samples/ folgende Dateiendungen werden erkannt: $ffs EOF -- cgit v1.2.3 From 2a0c71f3e28e11b61e98b5975116c0809bc49e34 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 2 May 2010 13:07:11 +0200 Subject: help: implemented /help [MODULE ARGS...] --- modules/help | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/help b/modules/help index 303af362..48c06686 100755 --- a/modules/help +++ b/modules/help @@ -11,5 +11,14 @@ case "$1" in } | sort | sed -rn ' $s/$// s:^([a-z]+) (.+):type /\1 to \2:p' ;; - (*) exit 23 ;; + (*) + ## call + for directory in `echo "$NOISE_PATH" | tr : \ ` ; do + for module in "$directory/$1" ; do + if test -e $module ; then + shift + exec $module --help --verbose "$@" 2>&1 + fi + done + done esac -- cgit v1.2.3 From 1849640f86e84440c4920018fb9be6f5bff5bfc8 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Sun, 2 May 2010 22:46:15 +0200 Subject: initially added modules --- modules/mpc | 14 +++++++ modules/test | 9 +++++ modules/twitter | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ modules/vvs | 17 +++++++++ 4 files changed, 156 insertions(+) create mode 100755 modules/mpc create mode 100755 modules/test create mode 100755 modules/twitter create mode 100755 modules/vvs (limited to 'modules') diff --git a/modules/mpc b/modules/mpc new file mode 100755 index 00000000..6626532b --- /dev/null +++ b/modules/mpc @@ -0,0 +1,14 @@ +#! /bin/sh + +case "$1" in + (--help) + case "$2" in + (--verbose) mpc --help ;; + (*) echo access mpd + esac ;; + (*) + ##echo test-module called with following arguments: "$@" + ## send command for re-evaluation: + ##echo /espeak test >$NOISE_linefeed + mpc $@ +esac diff --git a/modules/test b/modules/test new file mode 100755 index 00000000..30444bf7 --- /dev/null +++ b/modules/test @@ -0,0 +1,9 @@ +#! /bin/sh + +case "$1" in + (--help) echo do some test-module related stuff ;; + (*) + echo test-module called with following arguments: "$@" + ## send command for re-evaluation: + echo /espeak test >$NOISE_linefeed +esac diff --git a/modules/twitter b/modules/twitter new file mode 100755 index 00000000..e8962657 --- /dev/null +++ b/modules/twitter @@ -0,0 +1,116 @@ +#!/usr/bin/python +#encode=utf8 + +import sys, twitter + +sys.stderr = sys.stdout + +def shorten(text): + + text = text.replace("about ", "~") + text = text.replace("an", "1") + text = text.replace(" minutes", "m") + text = text.replace(" minute", "m") + text = text.replace(" hours", "h") + text = text.replace(" hour", "h") + text = text.replace(" seconds", "s") + text = text.replace(" second", "s") + text = text.replace(" days", "d") + text = text.replace(" day", "d") + text = text.replace(" weeks", "w") + text = text.replace(" week", "w") + text = text.replace(" years", "y") + text = text.replace(" year", "y") + text = text.replace(" ago", "") + return text + + +def parse(text): + text = text.replace("\n","") + t = text.split(" ") + new = "" + for piece in t: + escape = "" + if piece.startswith("@"): + escape = "" + if piece[1:].lower() == "shackspace": + escape = "" + + elif piece.startswith("#"): + escape = "" + elif piece.startswith("http://"): + escape = "" + if escape: + new += escape + piece + " " + else: + new += piece + " " + + return new + +if len(sys.argv) > 1 and sys.argv[1] == "--help": + print "read or post to the shackspace twitter timeline" + if len(sys.argv) == 3 and sys.argv[2] == "--verbose": + print "call without parameters to read" + print "use /twitter [your tweet] to tweet something to the shackspace twitter timeline" + exit() + + + + +api = twitter.Api(username="shackspace", password="0b0dallaf4lla") + +#api.SetXTwitterHeaders("Shackspace UTTERANCE","","0.00.0.01.42") + +if len(sys.argv) > 1: + + + tweet = u"" + + for t in sys.argv[1:]: + tweet += t.decode("utf8") + u" " + tweet = tweet[:-1] + + print u"Length: " + str(len(tweet)) + u"" + + if len(tweet) > 140: + print u"Your Tweet must be shorter than 140 characters.\n" + exit() + + status = api.PostUpdate(tweet) + + + + +else: + """print "\tshackspace tweets:" + for i in api.GetUserTimeline(): + i.text = parse(i.text) + print ("" + i.user.screen_name + " " + i.GetRelativeCreatedAt() + " " + i.text).encode("utf8").replace("\n"," ") + + print "\n\tfriends tweets" + """ + a = api.GetFriendsTimeline() + a.reverse() + for i in a: + text = i.text + if i.user.screen_name.lower() == "shackspace": + info = "" + i.user.screen_name + " " + shorten(i.GetRelativeCreatedAt()) + "" + else: + info = "" + i.user.screen_name + " " + shorten(i.GetRelativeCreatedAt()) + "" + text = info + " " + parse(text) + + t = text.split(" ") + tmp = "" + for n in t: + if ((len(tmp) + len(n)) > 80): + print parse(tmp).encode("utf8") + tmp = " " *( len(info)-15) + + tmp += " " + n + if len(tmp) > (len(info)-15+1): + print parse(tmp).encode("utf8") + + + + + diff --git a/modules/vvs b/modules/vvs new file mode 100755 index 00000000..fc23375f --- /dev/null +++ b/modules/vvs @@ -0,0 +1,17 @@ +#! /bin/sh + +wrapper() { + exec 2>&1 + echo date: `date +%H:%M` + "$@" +} + +case "$1" in + (--help) echo query VVS ;; + (*) + case $# in + (2) wrapper vvs.de "$@" ;; + (0) wrapper vvs ;; + (*) echo "Syntax: /vvs [ORIGIN DESTINATION]" ; return ;; + esac +esac -- cgit v1.2.3 From 17be93d900c586ac34d9cab50e4b6622402a48d9 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 May 2010 00:02:41 +0200 Subject: noise/modules/espeak: nicer variable-printer --- modules/espeak | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'modules') diff --git a/modules/espeak b/modules/espeak index cda70fc8..1f5c901d 100755 --- a/modules/espeak +++ b/modules/espeak @@ -1,4 +1,9 @@ #! /bin/sh + +print_var() { + echo "$1 = $2" +} + case "$1" in (--help) echo say something with espeak ;; (*) @@ -7,11 +12,11 @@ case "$1" in k="${noise_capital-0}" a="${noise_amplitude-100}" g="${noise_gap-1}" - echo pitch: $p - echo lang: $v - echo capital: $k - echo amplitude: $a - echo gap: $g + print_var pitch $p + print_var lang $v + print_var capital $k + print_var amplitude $a + print_var gap $g #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 espeak -a $a -k $k -p $p -v $v -g $g< Date: Wed, 5 May 2010 00:04:01 +0200 Subject: noise/modules/zeit: strip zeros from %M --- modules/zeit | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/zeit b/modules/zeit index 0b0537d3..340d6fce 100755 --- a/modules/zeit +++ b/modules/zeit @@ -5,10 +5,14 @@ case "$1" in echo "say current time" ;; (*) exec >>$NOISE_linefeed + eval `date +'k=%k ; M=%M'` + M=`echo $M | sed 's/0*//'` echo /set pitch 10 case "$lang" in - (de|'') date +'"Es ist %k Uhr %M."' >$NOISE_linefeed ;; - (en|*-en) date +'"It is %k o clock and %M minutes"' >$NOISE_linefeed ;; + (de|'') echo " Es ist $k Uhr $M" >$NOISE_linefeed ;; + (en|*-en) + test -z "$M" || M="and $M minutes" + echo " It is $k o clock $M" >$NOISE_linefeed ;; (*) echo "Error: unsupported lang = $lang" >&2 esac echo /set pitch ${noise_pitch-100} -- cgit v1.2.3 From cb2ffed83727b2d20d9d0a71bf55adc96c168e62 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 May 2010 00:14:43 +0200 Subject: noise/modules/zeit: strip zeros moar correct :-) --- modules/zeit | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/zeit b/modules/zeit index 340d6fce..75ffc20a 100755 --- a/modules/zeit +++ b/modules/zeit @@ -5,8 +5,8 @@ case "$1" in echo "say current time" ;; (*) exec >>$NOISE_linefeed - eval `date +'k=%k ; M=%M'` - M=`echo $M | sed 's/0*//'` + k=`date +%k` + M=`date +%M|sed 's/0*//'` echo /set pitch 10 case "$lang" in (de|'') echo " Es ist $k Uhr $M" >$NOISE_linefeed ;; -- cgit v1.2.3 From de52c85164a0f98dee94d62b824dd2360cd77d54 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Thu, 6 May 2010 22:36:57 +0200 Subject: initial commit number two --- modules/atwall | 11 +++++++++++ modules/join | 14 ++++++++++++++ modules/test | 10 +++++++--- modules/twitter | 10 +++++----- 4 files changed, 37 insertions(+), 8 deletions(-) create mode 100755 modules/atwall create mode 100755 modules/join (limited to 'modules') diff --git a/modules/atwall b/modules/atwall new file mode 100755 index 00000000..66fca5e6 --- /dev/null +++ b/modules/atwall @@ -0,0 +1,11 @@ +#! /bin/sh + +case "$1" in + (--help) echo send text to everyone with @@ prepended ;; + (q) + echo quit chat mode + echo /set default_command espeak >$NOISE_linefeed;; + + (*) + echo /wall @@ $* >$NOISE_linefeed +esac diff --git a/modules/join b/modules/join new file mode 100755 index 00000000..af1c0117 --- /dev/null +++ b/modules/join @@ -0,0 +1,14 @@ +#! /bin/sh + +case "$1" in + (--help) echo set default_command to atwall and back ;; + (off) + echo /set default_command espeak >$NOISE_linefeed + echo "disabled chat mode (set back to espeak)" ;; + (*) + echo /set default_command atwall >$NOISE_linefeed + echo "enabled chat mode" + echo q or /chat off to go back to espeak ;; + + +esac diff --git a/modules/test b/modules/test index 30444bf7..2c0b8e0d 100755 --- a/modules/test +++ b/modules/test @@ -3,7 +3,11 @@ case "$1" in (--help) echo do some test-module related stuff ;; (*) - echo test-module called with following arguments: "$@" - ## send command for re-evaluation: - echo /espeak test >$NOISE_linefeed + + echo -n ">> " + read TEST + if [ $TEST == 'q' ]; then exit; fi + echo /wall @@ $TEST >$NOISE_linefeed + #sleep 1 + #sleep 1; echo /test >$NOISE_linefeed & esac diff --git a/modules/twitter b/modules/twitter index e8962657..fa4d366d 100755 --- a/modules/twitter +++ b/modules/twitter @@ -33,7 +33,7 @@ def parse(text): escape = "" if piece.startswith("@"): escape = "" - if piece[1:].lower() == "shackspace": + if piece[1:].lower() == "shackspam" or piece[1:].lower() == "shackspace": escape = "" elif piece.startswith("#"): @@ -48,16 +48,16 @@ def parse(text): return new if len(sys.argv) > 1 and sys.argv[1] == "--help": - print "read or post to the shackspace twitter timeline" + print "read or post to the shackspam twitter timeline" if len(sys.argv) == 3 and sys.argv[2] == "--verbose": print "call without parameters to read" - print "use /twitter [your tweet] to tweet something to the shackspace twitter timeline" + print "use /twitter [your tweet] to tweet something to the shackspam twitter timeline" exit() -api = twitter.Api(username="shackspace", password="0b0dallaf4lla") +api = twitter.Api(username="shackspam", password="sh4ckit") #api.SetXTwitterHeaders("Shackspace UTTERANCE","","0.00.0.01.42") @@ -93,7 +93,7 @@ else: a.reverse() for i in a: text = i.text - if i.user.screen_name.lower() == "shackspace": + if i.user.screen_name.lower() == "shackspace" or i.user.screen_name.lower() == "shackspam": info = "" + i.user.screen_name + " " + shorten(i.GetRelativeCreatedAt()) + "" else: info = "" + i.user.screen_name + " " + shorten(i.GetRelativeCreatedAt()) + "" -- cgit v1.2.3 From f199aff05248164cc49391de2e9785416e9902fb Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Thu, 6 May 2010 22:47:01 +0200 Subject: prepared /join and /part for room based chatting --- modules/atwall | 11 ----------- modules/chat | 11 +++++++++++ modules/join | 10 ++++------ modules/part | 10 ++++++++++ 4 files changed, 25 insertions(+), 17 deletions(-) delete mode 100755 modules/atwall create mode 100755 modules/chat create mode 100755 modules/part (limited to 'modules') diff --git a/modules/atwall b/modules/atwall deleted file mode 100755 index 66fca5e6..00000000 --- a/modules/atwall +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/sh - -case "$1" in - (--help) echo send text to everyone with @@ prepended ;; - (q) - echo quit chat mode - echo /set default_command espeak >$NOISE_linefeed;; - - (*) - echo /wall @@ $* >$NOISE_linefeed -esac diff --git a/modules/chat b/modules/chat new file mode 100755 index 00000000..66fca5e6 --- /dev/null +++ b/modules/chat @@ -0,0 +1,11 @@ +#! /bin/sh + +case "$1" in + (--help) echo send text to everyone with @@ prepended ;; + (q) + echo quit chat mode + echo /set default_command espeak >$NOISE_linefeed;; + + (*) + echo /wall @@ $* >$NOISE_linefeed +esac diff --git a/modules/join b/modules/join index af1c0117..0e0bec2a 100755 --- a/modules/join +++ b/modules/join @@ -1,14 +1,12 @@ #! /bin/sh case "$1" in - (--help) echo set default_command to atwall and back ;; - (off) - echo /set default_command espeak >$NOISE_linefeed - echo "disabled chat mode (set back to espeak)" ;; + (--help) echo set default_command to chat and join channel ;; (*) echo /set default_command atwall >$NOISE_linefeed - echo "enabled chat mode" - echo q or /chat off to go back to espeak ;; + echo /set chat_channel $1 >$NOISE_linefeed + echo "joined channel $1" + echo /part off to go back to espeak ;; esac diff --git a/modules/part b/modules/part new file mode 100755 index 00000000..beb95163 --- /dev/null +++ b/modules/part @@ -0,0 +1,10 @@ +#! /bin/sh + +case "$1" in + (--help) echo leave chat mode ;; + (*) + echo /set default_command espeak >$NOISE_linefeed + echo "disabled chat mode (set back to espeak)" ;; + + +esac -- cgit v1.2.3 From 47361ddde830e7ce4653d33d380e4d66bed9c1b4 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Thu, 6 May 2010 22:47:45 +0200 Subject: fixed join (atwall) --- modules/join | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/join b/modules/join index 0e0bec2a..2705abac 100755 --- a/modules/join +++ b/modules/join @@ -3,7 +3,7 @@ case "$1" in (--help) echo set default_command to chat and join channel ;; (*) - echo /set default_command atwall >$NOISE_linefeed + echo /set default_command chat >$NOISE_linefeed echo /set chat_channel $1 >$NOISE_linefeed echo "joined channel $1" echo /part off to go back to espeak ;; -- cgit v1.2.3 From b9a22654b96cf5a32f227ef6991ea81176cacb50 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 02:24:01 +0200 Subject: noise: use folders for connected clients Additionally export $NOISE_pid to modules. --- modules/wall | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/wall b/modules/wall index fa7618fe..7c32d01d 100755 --- a/modules/wall +++ b/modules/wall @@ -2,8 +2,7 @@ case "$1" in (--help) : ;; (?*) - for client in /tmp/noise-client-* ; do - #echo /msg "$*`printf '\a'`" >$client - echo /msg "$*" >$client + for linefeed in /tmp/noise/*/linefeed ; do + echo /msg "$*" >$linefeed done esac -- cgit v1.2.3 From 0b25165144fb6a6c0e63df62bf282f13465baa82 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 03:45:50 +0200 Subject: renamed module msg to echo --- modules/echo | 6 ++++++ modules/msg | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 modules/echo delete mode 100755 modules/msg (limited to 'modules') diff --git a/modules/echo b/modules/echo new file mode 100755 index 00000000..344dd963 --- /dev/null +++ b/modules/echo @@ -0,0 +1,6 @@ +#! /bin/sh +case "$1" in + (--help) : ;; + (*) + echo "$*" +esac diff --git a/modules/msg b/modules/msg deleted file mode 100755 index 344dd963..00000000 --- a/modules/msg +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh -case "$1" in - (--help) : ;; - (*) - echo "$*" -esac -- cgit v1.2.3 From f06c19d559b1dd80cc0f4adf39a78257ecf2219e Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:02:27 +0200 Subject: split nick and names from chat --- modules/chat | 34 ++++++++++++++++++++++++++++------ modules/names | 21 +++++++++++++++++++++ modules/nick | 10 ++++++++++ 3 files changed, 59 insertions(+), 6 deletions(-) create mode 100755 modules/names create mode 100755 modules/nick (limited to 'modules') diff --git a/modules/chat b/modules/chat index 66fca5e6..e5badc36 100755 --- a/modules/chat +++ b/modules/chat @@ -2,10 +2,32 @@ case "$1" in (--help) echo send text to everyone with @@ prepended ;; - (q) - echo quit chat mode - echo /set default_command espeak >$NOISE_linefeed;; - - (*) - echo /wall @@ $* >$NOISE_linefeed + (/nick) + echo set nick to $2 + echo /set chat_nick $2 >$NOISE_linefeed;; + (/names) + cd /tmp/noise + . $NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + channel="$chat_channel" + echo "Users in channel $channel" + for client in * ; do + . $client/environment + chat_nick="${chat_nick-$client}" + if test "$channel" = "$chat_channel" && test "$default_command" = chat ; then + echo "$chat_nick" + fi + unset chat_nick + unset chat_channel + unset default_command + done ;; + (*) + cd /tmp/noise + . $NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + + echo "/send_to_channel $chat_channel $nick: $*" > $NOISE_linefeed + + + #echo /wall @@ $* >$NOISE_linefeed esac diff --git a/modules/names b/modules/names new file mode 100755 index 00000000..750917a5 --- /dev/null +++ b/modules/names @@ -0,0 +1,21 @@ +#! /bin/sh + +case "$1" in + (--help) echo send text to everyone with @@ prepended ;; + (*) + cd /tmp/noise + . $NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + channel="${1-$chat_channel}" + echo "Users in channel $channel" + for client in * ; do + . $client/environment + chat_nick="${chat_nick-$client}" + if test "$channel" = "$chat_channel" && test "$default_command" = chat ; then + echo "$chat_nick" + fi + unset chat_nick + unset chat_channel + unset default_command + done +esac diff --git a/modules/nick b/modules/nick new file mode 100755 index 00000000..b60a7433 --- /dev/null +++ b/modules/nick @@ -0,0 +1,10 @@ +#! /bin/sh + +case "$1" in + (--help) echo send text to everyone with @@ prepended ;; + (*) + . /tmp/noise/$NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + echo /send_to_channel $nick is now known as $2 > $NOISE_linefeed + echo /set chat_nick $2 >$NOISE_linefeed;; +esac -- cgit v1.2.3 From 29e111bd9921c3730c751a059e449af765d551a4 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:03:59 +0200 Subject: added module send_to_channel --- modules/send_to_channel | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 modules/send_to_channel (limited to 'modules') diff --git a/modules/send_to_channel b/modules/send_to_channel new file mode 100755 index 00000000..4a0470af --- /dev/null +++ b/modules/send_to_channel @@ -0,0 +1,17 @@ +#! /bin/sh + +case "$1" in + (--help) : ;; + (*) + cd /tmp/noise + channel="$1" + shift + for client in * ; do + . $client/environment + if test "$channel" = "$chat_channel" && test "$default_command" = chat ; then + echo "/echo $*" > $client/linefeed + fi + unset chat_channel + + done +esac -- cgit v1.2.3 From 71fa84f005bb73e813a34e78dd4cb58a072b3879 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 04:06:42 +0200 Subject: Added module: sleep --- modules/sleep | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 modules/sleep (limited to 'modules') diff --git a/modules/sleep b/modules/sleep new file mode 100755 index 00000000..b8d350f7 --- /dev/null +++ b/modules/sleep @@ -0,0 +1,10 @@ +#! /bin/sh +case "$1" in + (--help) echo "pause for NUMBER seconds" ;; + (*) + if ! echo "$1" | grep -Eq '^([0-9]+(\.[0-9]*)?|[0-9]*\.[0-9]+)$' ; then + echo 'FAIL: $1 is not a number' + else + sleep "$1" + fi +esac -- cgit v1.2.3 From d8b74770d5ed5e724c9c145dbb894cbb2ec99acb Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 04:11:00 +0200 Subject: Added module: date --- modules/date | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 modules/date (limited to 'modules') diff --git a/modules/date b/modules/date new file mode 100755 index 00000000..8cd1b0c1 --- /dev/null +++ b/modules/date @@ -0,0 +1,6 @@ +#! /bin/sh +case "$1" in + (--help) : ;; + (*) + date --rfc-3339=s +esac -- cgit v1.2.3 From f77ad7ef9f1ebb63716a754315e878aabe2eee62 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:22:49 +0200 Subject: added additional check for default_command --- modules/names | 1 + 1 file changed, 1 insertion(+) (limited to 'modules') diff --git a/modules/names b/modules/names index 750917a5..f5922064 100755 --- a/modules/names +++ b/modules/names @@ -5,6 +5,7 @@ case "$1" in (*) cd /tmp/noise . $NOISE_pid/environment + if test "$default_command" != chat ; then exit ; fi nick="${chat_nick-$NOISE_pid}" channel="${1-$chat_channel}" echo "Users in channel $channel" -- cgit v1.2.3 From cc7314993b00d4f94c5837f36a4854ba6420350e Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:27:16 +0200 Subject: telling the others who parted --- modules/part | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules') diff --git a/modules/part b/modules/part index beb95163..d35ac501 100755 --- a/modules/part +++ b/modules/part @@ -3,6 +3,11 @@ case "$1" in (--help) echo leave chat mode ;; (*) + . /tmp/noise/$NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + + echo "/send_to_channel $chat_channel $nick has quit ${*-no reason}" > $NOISE_linefeed + echo /set default_command espeak >$NOISE_linefeed echo "disabled chat mode (set back to espeak)" ;; -- cgit v1.2.3 From 5664f6beafe6a7796835dc1c5be7bac4a0c4aa65 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:28:14 +0200 Subject: now telling who joined --- modules/join | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/join b/modules/join index 2705abac..68afcb66 100755 --- a/modules/join +++ b/modules/join @@ -3,10 +3,13 @@ case "$1" in (--help) echo set default_command to chat and join channel ;; (*) + . /tmp/noise/$NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + echo /send_to_channel "${1-#23}" "$nick" joined the channel >$NOISE_linefeed echo /set default_command chat >$NOISE_linefeed - echo /set chat_channel $1 >$NOISE_linefeed - echo "joined channel $1" - echo /part off to go back to espeak ;; + echo /set chat_channel "${1-#23}" >$NOISE_linefeed + echo " joined channel ${1-#23}" + echo /part to go back to espeak ;; esac -- cgit v1.2.3 From c83842518c14a7c258e06baf9fe45a93b5d159e8 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 04:28:49 +0200 Subject: zeit: use /espeak instead of $default_command --- modules/zeit | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/zeit b/modules/zeit index 75ffc20a..4c41fa10 100755 --- a/modules/zeit +++ b/modules/zeit @@ -9,10 +9,10 @@ case "$1" in M=`date +%M|sed 's/0*//'` echo /set pitch 10 case "$lang" in - (de|'') echo " Es ist $k Uhr $M" >$NOISE_linefeed ;; + (de|'') echo "/espeak Es ist $k Uhr $M" ;; (en|*-en) test -z "$M" || M="and $M minutes" - echo " It is $k o clock $M" >$NOISE_linefeed ;; + echo "/espeak It is $k o clock $M" ;; (*) echo "Error: unsupported lang = $lang" >&2 esac echo /set pitch ${noise_pitch-100} -- cgit v1.2.3 From 4830460590cf013cb79df8d04b96ebaf725db6af Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:31:49 +0200 Subject: nick: fixed not telling others, fixed not working AT ALL --- modules/nick | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/nick b/modules/nick index b60a7433..5ed1e9d9 100755 --- a/modules/nick +++ b/modules/nick @@ -5,6 +5,6 @@ case "$1" in (*) . /tmp/noise/$NOISE_pid/environment nick="${chat_nick-$NOISE_pid}" - echo /send_to_channel $nick is now known as $2 > $NOISE_linefeed - echo /set chat_nick $2 >$NOISE_linefeed;; + echo /send_to_channel $chat_channel $nick is now known as $1 > $NOISE_linefeed + echo /set chat_nick $1 >$NOISE_linefeed;; esac -- cgit v1.2.3 From 6abf375996b0f28a7ebba80d9f0052c1f1394788 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:34:21 +0200 Subject: twitter: fixed the "a"-bug, fixed 81 width --- modules/twitter | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/twitter b/modules/twitter index fa4d366d..49d092fb 100755 --- a/modules/twitter +++ b/modules/twitter @@ -22,6 +22,7 @@ def shorten(text): text = text.replace(" years", "y") text = text.replace(" year", "y") text = text.replace(" ago", "") + text = text.replace("a", "1") return text @@ -93,6 +94,7 @@ else: a.reverse() for i in a: text = i.text + ilen = len(i.user.screen_name) + len(shorten(i.GetRelativeCreatedAt())) + 2 if i.user.screen_name.lower() == "shackspace" or i.user.screen_name.lower() == "shackspam": info = "" + i.user.screen_name + " " + shorten(i.GetRelativeCreatedAt()) + "" else: @@ -102,12 +104,12 @@ else: t = text.split(" ") tmp = "" for n in t: - if ((len(tmp) + len(n)) > 80): + if ((len(tmp) + len(n)) >= 80): print parse(tmp).encode("utf8") - tmp = " " *( len(info)-15) + tmp = " " * ilen tmp += " " + n - if len(tmp) > (len(info)-15+1): + if len(tmp) > ilen: print parse(tmp).encode("utf8") -- cgit v1.2.3 From 04fa9b3513d909cf71554b01c6c7bd883e964cf4 Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:42:48 +0200 Subject: added query command to whisper users --- modules/query | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 modules/query (limited to 'modules') diff --git a/modules/query b/modules/query new file mode 100755 index 00000000..dd6f415a --- /dev/null +++ b/modules/query @@ -0,0 +1,20 @@ +#! /bin/sh + +case "$1" in + (--help) echo send a message to a specific user ;; + (*) + cd /tmp/noise + nick="$1" + shift + for client in * ; do + . $client/environment + if test "$nick" = "${chat_nick-$client}" ; then + echo "/echo $*" > $client/linefeed + exit + fi + unset chat_channel + + done + + echo "$nick not found" +esac -- cgit v1.2.3 From bd0a3e505cb4384101a4a044fe52a6a1ed4d5e7f Mon Sep 17 00:00:00 2001 From: "shackspace e.V" Date: Fri, 7 May 2010 04:50:48 +0200 Subject: fixed query not working AT ALL --- modules/query | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/query b/modules/query index dd6f415a..ceeff8a5 100755 --- a/modules/query +++ b/modules/query @@ -4,13 +4,16 @@ case "$1" in (--help) echo send a message to a specific user ;; (*) cd /tmp/noise - nick="$1" + . $NOISE_pid/environment + nick="${chat_nick-$NOISE_pid}" + target="$1" shift for client in * ; do . $client/environment - if test "$nick" = "${chat_nick-$client}" ; then - echo "/echo $*" > $client/linefeed - exit + if test "$target" = "${chat_nick-$client}" ; then + echo "/echo <-- $nick: $*" > $client/linefeed + echo "--> $target: $*" + exit fi unset chat_channel -- cgit v1.2.3 From 42a036d8d7d332ca75909654133bb5c2f7d20620 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 May 2010 10:12:12 +0200 Subject: help: uniq, b/c we've got alot of mirrors ;-) --- modules/help | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/help b/modules/help index 48c06686..e9dba2fe 100755 --- a/modules/help +++ b/modules/help @@ -8,7 +8,7 @@ case "$1" in done ## print all documented built-in commands sed -rn 's:^noise_([a-z]+)\(\) \{ # (.+)?$:\1 \2:p' "$NOISE" - } | sort | sed -rn ' + } | sort | uniq | sed -rn ' $s/$// s:^([a-z]+) (.+):type /\1 to \2:p' ;; (*) -- cgit v1.2.3 From 9e24cf1941f87a294e5f9d212caac643ded27209 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 8 May 2010 02:18:52 +0200 Subject: zeit: s/1/ein/ --- modules/zeit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/zeit b/modules/zeit index 4c41fa10..9fbc33e4 100755 --- a/modules/zeit +++ b/modules/zeit @@ -5,7 +5,7 @@ case "$1" in echo "say current time" ;; (*) exec >>$NOISE_linefeed - k=`date +%k` + k=`date +%k|sed 's/^[[:space:]]*1[[:space:]]*$/ein/'` M=`date +%M|sed 's/0*//'` echo /set pitch 10 case "$lang" in -- cgit v1.2.3 From 758be77cd81c4d9f44eae1506e5dc929df4daa3b Mon Sep 17 00:00:00 2001 From: root Date: Sat, 8 May 2010 02:57:21 +0200 Subject: wall: use /echo instead the (now dead) /msg --- modules/wall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/wall b/modules/wall index 7c32d01d..c73744ea 100755 --- a/modules/wall +++ b/modules/wall @@ -3,6 +3,6 @@ case "$1" in (--help) : ;; (?*) for linefeed in /tmp/noise/*/linefeed ; do - echo /msg "$*" >$linefeed + echo /echo "$*" >$linefeed done esac -- cgit v1.2.3 From 3f77df40b1d127e54bab735bbc14cd57a56b78ca Mon Sep 17 00:00:00 2001 From: root Date: Sat, 25 Sep 2010 01:08:39 +0000 Subject: play: changed "file not found"-comment --- modules/play | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/play b/modules/play index dcb8749f..749b450a 100755 --- a/modules/play +++ b/modules/play @@ -22,9 +22,13 @@ case "$1" in esac && break done || cat< Date: Tue, 28 Dec 2010 21:10:35 +0100 Subject: route espeak through paplay --- modules/espeak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/espeak b/modules/espeak index 1f5c901d..4aad90b9 100755 --- a/modules/espeak +++ b/modules/espeak @@ -18,7 +18,7 @@ case "$1" in print_var amplitude $a print_var gap $g #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 - espeak -a $a -k $k -p $p -v $v -g $g< Date: Tue, 28 Dec 2010 21:11:36 +0100 Subject: write stderr of help to /dev/null --- modules/help | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/help b/modules/help index e9dba2fe..bc4c2931 100755 --- a/modules/help +++ b/modules/help @@ -4,7 +4,7 @@ case "$1" in ('') { for directory in `echo "$NOISE_PATH" | tr : \ ` ; do for module in "$directory"/* ; do echo `basename "$module"` `$module --help` - done + done 2>/dev/null done ## print all documented built-in commands sed -rn 's:^noise_([a-z]+)\(\) \{ # (.+)?$:\1 \2:p' "$NOISE" -- cgit v1.2.3 From e4c30a56130bf9c8885ce46e58de81e2756ae650 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 Dec 2010 21:12:38 +0100 Subject: hardcoded MPD_HOST=mpd.shack into mpc module --- modules/mpc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/mpc b/modules/mpc index 6626532b..0ab72058 100755 --- a/modules/mpc +++ b/modules/mpc @@ -10,5 +10,5 @@ case "$1" in ##echo test-module called with following arguments: "$@" ## send command for re-evaluation: ##echo /espeak test >$NOISE_linefeed - mpc $@ + MPD_HOST=mpd.shack mpc $@ esac -- cgit v1.2.3 From ee245224a41f66c1d370e45d07a7cd2bed44ef57 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 Dec 2010 21:13:49 +0100 Subject: Inverted if-then-else logic in sleep --- modules/sleep | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/sleep b/modules/sleep index b8d350f7..89712cac 100755 --- a/modules/sleep +++ b/modules/sleep @@ -2,9 +2,9 @@ case "$1" in (--help) echo "pause for NUMBER seconds" ;; (*) - if ! echo "$1" | grep -Eq '^([0-9]+(\.[0-9]*)?|[0-9]*\.[0-9]+)$' ; then - echo 'FAIL: $1 is not a number' - else + if echo "$1" | grep -Eq '^([0-9]+(\.[0-9]*)?|[0-9]*\.[0-9]+)$' ; then sleep "$1" + else + echo 'FAIL: $1 is not a number' fi esac -- cgit v1.2.3 From d6d9deb733392e09b6b3f480eb6d5c90d2e973db Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 28 Dec 2010 21:15:54 +0100 Subject: added modules: shackstatus, stream --- modules/shackstatus | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++ modules/stream | 50 +++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100755 modules/shackstatus create mode 100755 modules/stream (limited to 'modules') diff --git a/modules/shackstatus b/modules/shackstatus new file mode 100755 index 00000000..d05dba87 --- /dev/null +++ b/modules/shackstatus @@ -0,0 +1,127 @@ +#! /bin/bash +inputdir=$HOME/noise/streams + +speak () { + echo "$@" >> $NOISE_linefeed +} + +wochentag () { + case $(date +%a) in + Mon) echo Montag ;; + Tue) echo Dienstag ;; + Wed) echo Mittwoch ;; + Thu) echo Donnerstag ;; + Fri) echo Freitag ;; + Sat) echo Samstag ;; + Sun) echo Sonntag ;; + esac +} + +tag () { + case $(date +%d) in + 1) echo erste ;; + 2) echo zweite ;; + 3) echo dritte ;; + 4) echo vierte ;; + 5) echo fünfte ;; + 6) echo sechste ;; + 7) echo siebte ;; + 8) echo achte ;; + 9) echo neunte ;; + 10) echo zehnte ;; + 11) echo elfte ;; + 12) echo zwölfte ;; + 13) echo dreizehnte ;; + 14) echo vierzehnte ;; + 15) echo fünfzehnte ;; + 16) echo sechzehnte ;; + 17) echo siebzehnte ;; + 18) echo achtzehnte ;; + 19) echo neunzehnte ;; + 20) echo zwanzigste ;; + 21) echo einundzwanzigste ;; + 22) echo zweiundzwanzigste ;; + 23) echo dreiundzwanzigste ;; + 24) echo vierundzwanzigste ;; + 25) echo füfundzwanzigste ;; + 26) echo sechsundzwanzigste ;; + 27) echo siebenundzwanzigste ;; + 28) echo achtundzwanzigste ;; + 29) echo neunundzwanzigste ;; + 30) echo dreissigste ;; + 31) echo einunddreissigste ;; + esac +} + +monat () { + case $(date +%b) in + Jan) echo Januar ;; + Feb) echo Februar ;; + Mar) echo März ;; + Apr) echo April ;; + May) echo Mai ;; + Jun) echo Juni ;; + Jul) echo Juli ;; + Aug) echo August ;; + Sep) echo September ;; + Oct) echo Oktober ;; + Nov) echo November ;; + Dec) echo Dezember ;; + esac +} + +case "$1" in + (--help) + echo "report status of all shack services." + ;; + (*) +# just a multiline comment +cat << EOF > /dev/null + /set pitch 10 + /espeak Hallo. Krietscher hat seinen Meister vermisst. + /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` + /zeit + /espeak check der systeme: + /espeak Energie versorgung -- aktiv + /espeak schäckhost -- läuft + /espeak telnet -- läuft + /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I + /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E + /espeak externer - de - enn -- es - $STAT_DNS_X + /espeak Leitungsqualität - $STAT_LINE prozent. + /espeak Die Aussen temper atur beträgt $STAT_TEMP + /espeak Willkommen zu Hause, -- Meister +EOF + +[ $( dig +short localhost @10.42.0.10 ) = "127.0.0.1" ] && STAT_DNS_I="läuft" || STAT_DNS_I="antwortet nicht" +[ $( dig +short shackspace.de @10.42.0.10 ) = "141.31.176.214" ] && STAT_DNS_E="läuft"|| STAT_DNS_E="antwortet nicht" +[ $( dig +short shackspace.de @141.31.176.214 ) = "141.31.176.214" ] && STAT_DNS_X="läuft"|| STAT_DNS_X="antwortet nicht" + +STAT_LINE=$( ping -c 5 -i 0.2 -q 141.31.176.214 | awk '/packet loss/ { print 100-$6}' ) +STAT_TEMP=$( dig +short txt outside.elwood.temp.citecs.de | + sed 's/^"DEG //; + s/"$//; + s/^-/minus /; + s/\./ komma /; + s/\(.\)$/ \1 grad zelsius/ + ' +) + +cat <<-EOF >> $NOISE_linefeed + /set pitch 10 + /espeak Hallo. Krietscher hat seinen Meister vermisst. + /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` + /zeit + /espeak check der systeme: + /espeak Energie versorgung -- aktiv + /espeak schäckhost -- läuft + /espeak telnet -- läuft + /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I + /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E + /espeak externer - de - enn -- es - $STAT_DNS_X + /espeak Leitungsqualität - $STAT_LINE prozent. + /espeak Die Aussen temper atur beträgt $STAT_TEMP + /espeak Willkommen zu Hause, -- Meister +EOF + ;; +esac 2>&1 diff --git a/modules/stream b/modules/stream new file mode 100755 index 00000000..76e86317 --- /dev/null +++ b/modules/stream @@ -0,0 +1,50 @@ +#! /bin/sh +inputdir=$HOME/noise/streams +case "$1" in + (--help) + echo "play an audio stream" ;; + (*) + exec 2>&1 + ffs='xml' + + if test -z "$*" ; then + echo -e "\x1B[32m/stream off \x1B[33m- turn stream off\x1B[m" + for i in `ls $inputdir` ; do + filename="$inputdir/$i" + shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` + title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"` + topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"` + stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` + echo -e "\x1B[32m/stream $shortcut \x1B[33m- $title \x1B[35m$topic\x1B[m" + done + else if [ "$1" = "off" ]; then + [ ! -d /tmp/noise ] || ( echo "no directory /tmp/noise; aborting" ; exit 1 ) + [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` ) + [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 ) + else + for i in `ls $inputdir` ; do + filename="$inputdir/$i" + shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` + stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` + if [ "$shortcut" == "$1" ]; then + [ ! -d /tmp/noise ] || ( umask 077 ; mkdir /tmp/noise ) || ( echo "can't create /tmp/noise; aborting" ; exit 1 ) + [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` ) + [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 ) + mplayer -cache 2048 -quiet "$stream" & + ( umask 077 ; echo $! > /tmp/noise/stream.pid ) + break + fi + done || cat< Date: Tue, 28 Dec 2010 21:17:26 +0100 Subject: added module: sendmail --- modules/sendmail | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 modules/sendmail (limited to 'modules') diff --git a/modules/sendmail b/modules/sendmail new file mode 100755 index 00000000..182d96e3 --- /dev/null +++ b/modules/sendmail @@ -0,0 +1,55 @@ +#!/usr/bin/python +import os,sys,smtplib,string +''' + Mail Plugin for the noise telnet suite + See: http://docs.python.org/library/smtplib.html + Author: Felix +''' + +# help +if len(sys.argv) == 2: + if sys.argv[1] == "--help": + print "send an e-mail ( \"TO(s)\" \"SUBJECT\" [string instead of EOF])" + sys.exit(0) + +# sanity +if len(sys.argv) <= 2: + print "wrong number of parameters, see help" + sys.exit(1) + +# write variables +# check of EOF +if len(sys.argv) == 4 : + EOFstring="%s\n"% sys.argv[3] +else: + EOFstring="EOF\n" + +fromaddr=u"Karl Koch" +toaddrs=sys.argv[1] +subject=sys.argv[2] + + +#write header: +msg = u"From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (fromaddr, toaddrs,subject) +print "Write your text now, finish with %s" % EOFstring +sys.stdout.flush() # flushing is important to make sure the line is written + +while 1: + try: + line = sys.stdin.readline() + if line == EOFstring: + break + msg = msg + line + except EOFError: + break + +msg = msg + "[!] Written with NOISE telnet" + +print "Thank you for your message! Delivering it now..." +sys.stdout.flush() +server = smtplib.SMTP('localhost') +#server.set_debuglevel(1) +server.sendmail(fromaddr,toaddrs.split(','),msg) +server.quit() +print "mail send successfully" +sys.exit(0) -- cgit v1.2.3 From 6b09e03faff764fef2c867877e410357f43bf543 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 28 Dec 2010 21:19:47 +0100 Subject: added modules: ping, pong --- modules/ping | 24 ++++++++++++++++++++++++ modules/pong | 26 ++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100755 modules/ping create mode 100755 modules/pong (limited to 'modules') diff --git a/modules/ping b/modules/ping new file mode 100755 index 00000000..acf2529f --- /dev/null +++ b/modules/ping @@ -0,0 +1,24 @@ +#! /bin/sh +cd /tmp/noise +case "$1" in + (--help) : ;; + ('') + . $NOISE_pid/environment + ping_timestamp=${ping_timestamp-0} + ping_challenger=${ping_challenger-0} + if test $ping_challenger != 0 ; then + echo There is already a ping challange running + else + timestamp=`date +%s%N` + for client in * ; do + echo /ping $NOISE_pid $timestamp >$client/linefeed & + done + fi + ;; + (*) + echo "/set -q ping_timestamp $2" >$NOISE_pid/linefeed + if test $NOISE_pid != $1 ; then + echo "/set -q ping_challenger $1" >$NOISE_pid/linefeed + echo "PING?" + fi +esac diff --git a/modules/pong b/modules/pong new file mode 100755 index 00000000..eb2df46d --- /dev/null +++ b/modules/pong @@ -0,0 +1,26 @@ +#! /bin/sh +cd /tmp/noise +case "$1" in + (--help) : ;; + ('') + . $NOISE_pid/environment + ping_timestamp=${ping_timestamp-0} + ping_challenger=${ping_challenger-0} + if test $ping_challenger = 0 ; then + echo There is no ping challange running + else + timestamp=`date +%s%N` + echo /pong $NOISE_pid $timestamp >$ping_challenger/linefeed + ## reset ping TODO /unset + echo /set -q ping_timestamp 0 >$NOISE_pid/linefeed + echo /set -q ping_challenger 0 >$NOISE_pid/linefeed + fi + ;; + (*) + . $1/environment + # XXX is attendee the right counterpart to 'challenger'? + attendee_nick=$chat_nick + . $NOISE_pid/environment + time=`echo "scale=3; ($2 - $ping_timestamp)/10^9" | bc` + echo "PONG! $attendee_nick ${time}s" +esac -- cgit v1.2.3 From 0d7c646f54ceb6cc4e2f3c85017a55d357f42bd4 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 28 Dec 2010 21:22:45 +0100 Subject: added module: ein_mal_eins --- modules/ein_mal_eins | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 modules/ein_mal_eins (limited to 'modules') diff --git a/modules/ein_mal_eins b/modules/ein_mal_eins new file mode 100755 index 00000000..1715eb3d --- /dev/null +++ b/modules/ein_mal_eins @@ -0,0 +1,38 @@ +#! /bin/bash + +R() { + echo "`od -t d -N 1 /dev/urandom | sed -rn '1s/^[0-9]+ +//p'` % $@" | bc +} + + + + +case "$1" in + (--help) echo Stellt eine einfache Aufgabe ;; + (*) + a="`R 69`" + b="`R 69`" + op="`echo "\ +Was ist, A hoch B +Was ist, A plus B +Was ist, A minus B +Was ist, A mal B +Was ist, sinus von 0 +Was ist, Pi halbe mal 2 +Was ist, 2 hoch 8 +Was ist, 2 hoch 16 +Was ist, 2 hoch 32 +Was ist, 42 geteilt durch Pi mal 100 +Was ist, l n von 1 +Was ist, 42 +Was ist, 23 +Starte den Server neu +Löte ein Kabel an einen Kompjuter +Was ist, A geteilt durch B"`" + o="$(R `echo "$op" | wc -l` + 1)" + + aufgabe=`echo "$op" | sed -n "$o{s/A/$a/;s/B/$b/;p}"` + + echo "Löse die Aufgabe: $aufgabe?" | + espeak -v de --stdout | paplay +esac -- cgit v1.2.3 From d9961c9d04abd9e15cd1a3035dab6b94bae30a6f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 Dec 2010 21:23:30 +0100 Subject: added module: cat --- modules/cat | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100755 modules/cat (limited to 'modules') diff --git a/modules/cat b/modules/cat new file mode 100755 index 00000000..e090acba --- /dev/null +++ b/modules/cat @@ -0,0 +1,14 @@ +#! /bin/sh +case "$1" in + (--help) : ;; + (*) + while read line ; do + case "$line" in + (/quit) + break 2 + ;; + (*) + echo "[$line]" + esac + done +esac -- cgit v1.2.3 From 691cb5ba3d5d22d15b2894572c83eac58a21dccb Mon Sep 17 00:00:00 2001 From: root Date: Tue, 28 Dec 2010 21:23:57 +0100 Subject: disabled the twitter module: it need oauth --- modules/twitter | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/twitter b/modules/twitter index 49d092fb..5b1b0be9 100755 --- a/modules/twitter +++ b/modules/twitter @@ -1,6 +1,10 @@ #!/usr/bin/python #encode=utf8 +print "Bug Robert to implement Twitter-OAuth!" +exit(1) + + import sys, twitter sys.stderr = sys.stdout @@ -57,7 +61,6 @@ if len(sys.argv) > 1 and sys.argv[1] == "--help": - api = twitter.Api(username="shackspam", password="sh4ckit") #api.SetXTwitterHeaders("Shackspace UTTERANCE","","0.00.0.01.42") -- cgit v1.2.3 From 2fe9176beab260f09f75a75513d10f295b353aee Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 28 Dec 2010 21:43:42 +0100 Subject: added -v and -d to /espeak -v|--verbose: print arguments -d|--debug: print settings caveat: currently they cannot be used together --- modules/espeak | 30 ++++++++++++++++++++---------- modules/shackstatus | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 44 insertions(+), 34 deletions(-) (limited to 'modules') diff --git a/modules/espeak b/modules/espeak index 4aad90b9..eeb93c0a 100755 --- a/modules/espeak +++ b/modules/espeak @@ -4,21 +4,31 @@ print_var() { echo "$1 = $2" } -case "$1" in - (--help) echo say something with espeak ;; - (*) - p="${noise_pitch-100}" - v="${noise_lang-de}" - k="${noise_capital-0}" - a="${noise_amplitude-100}" - g="${noise_gap-1}" +speak() { + p="${noise_pitch-100}" + v="${noise_lang-de}" + k="${noise_capital-0}" + a="${noise_amplitude-100}" + g="${noise_gap-1}" + if test "$debug" = true; then print_var pitch $p print_var lang $v print_var capital $k print_var amplitude $a print_var gap $g - #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 - (espeak --stdout -a $a -k $k -p $p -v $v -g $g | paplay)<&2 + (espeak --stdout -a $a -k $k -p $p -v $v -g $g | paplay)< /dev/null /set pitch 10 - /espeak Hallo. Krietscher hat seinen Meister vermisst. - /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` + /espeak -v Hallo. Krietscher hat seinen Meister vermisst. + /espeak -v Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` /zeit - /espeak check der systeme: - /espeak Energie versorgung -- aktiv - /espeak schäckhost -- läuft - /espeak telnet -- läuft - /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I - /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E - /espeak externer - de - enn -- es - $STAT_DNS_X - /espeak Leitungsqualität - $STAT_LINE prozent. - /espeak Die Aussen temper atur beträgt $STAT_TEMP - /espeak Willkommen zu Hause, -- Meister + /espeak -v check der systeme: + /espeak -v Energie versorgung -- aktiv + /espeak -v schäckhost -- läuft + /espeak -v telnet -- läuft + /espeak -v interner - de - enn -- es, interne domein -- $STAT_DNS_I + /espeak -v interner - de - enn -- es, externe domein -- $STAT_DNS_E + /espeak -v externer - de - enn -- es - $STAT_DNS_X + /espeak -v Leitungsqualität - $STAT_LINE prozent. + /espeak -v Die Aussen temper atur beträgt $STAT_TEMP + /espeak -v Willkommen zu Hause, -- Meister EOF [ $( dig +short localhost @10.42.0.10 ) = "127.0.0.1" ] && STAT_DNS_I="läuft" || STAT_DNS_I="antwortet nicht" @@ -109,19 +109,19 @@ STAT_TEMP=$( dig +short txt outside.elwood.temp.citecs.de | cat <<-EOF >> $NOISE_linefeed /set pitch 10 - /espeak Hallo. Krietscher hat seinen Meister vermisst. - /espeak Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` + /espeak -v Hallo. Krietscher hat seinen Meister vermisst. + /espeak -v Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` /zeit - /espeak check der systeme: - /espeak Energie versorgung -- aktiv - /espeak schäckhost -- läuft - /espeak telnet -- läuft - /espeak interner - de - enn -- es, interne domein -- $STAT_DNS_I - /espeak interner - de - enn -- es, externe domein -- $STAT_DNS_E - /espeak externer - de - enn -- es - $STAT_DNS_X - /espeak Leitungsqualität - $STAT_LINE prozent. - /espeak Die Aussen temper atur beträgt $STAT_TEMP - /espeak Willkommen zu Hause, -- Meister + /espeak -v check der systeme: + /espeak -v Energie versorgung -- aktiv + /espeak -v schäckhost -- läuft + /espeak -v telnet -- läuft + /espeak -v interner - de - enn -- es, interne domein -- $STAT_DNS_I + /espeak -v interner - de - enn -- es, externe domein -- $STAT_DNS_E + /espeak -v externer - de - enn -- es - $STAT_DNS_X + /espeak -v Leitungsqualität - $STAT_LINE prozent. + /espeak -v Die Aussen temper atur beträgt $STAT_TEMP + /espeak -v Willkommen zu Hause, -- Meister EOF ;; esac 2>&1 -- cgit v1.2.3 From 62fe6b8b456bd7c18d0b24e9d4bf2ed62c5d7d0b Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 28 Dec 2010 22:14:37 +0100 Subject: stream: added verbose /help --- modules/stream | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/stream b/modules/stream index 76e86317..fa5a2d6e 100755 --- a/modules/stream +++ b/modules/stream @@ -2,7 +2,20 @@ inputdir=$HOME/noise/streams case "$1" in (--help) - echo "play an audio stream" ;; + if echo "$0 $*" | grep -q '[[:space:]]--verbose\>'; then + echo -e "\x1B[35mtype \x1B[32m/espeak off \x1B[35mto turn stream off\x1B[m" + for i in `ls $inputdir` ; do + filename="$inputdir/$i" + shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` + title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"` + topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"` + stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` + echo -e "\x1B[35mtype \x1B[32m/espeak $shortcut \x1B[35mfor $topic\x1B[m" + done + else + echo "play an audio stream" + fi + ;; (*) exec 2>&1 ffs='xml' -- cgit v1.2.3 From 3e4bc770f2db263497ac60197932294d0acc0d8a Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 2 Jan 2011 21:41:57 +0100 Subject: stream: fixed typo in verbose help --- modules/stream | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/stream b/modules/stream index fa5a2d6e..1e6fd0c5 100755 --- a/modules/stream +++ b/modules/stream @@ -1,16 +1,17 @@ #! /bin/sh inputdir=$HOME/noise/streams +basename="`basename "$0"`" case "$1" in (--help) if echo "$0 $*" | grep -q '[[:space:]]--verbose\>'; then - echo -e "\x1B[35mtype \x1B[32m/espeak off \x1B[35mto turn stream off\x1B[m" + echo -e "\x1B[35mtype \x1B[32m/$basename off \x1B[35mto turn stream off\x1B[m" for i in `ls $inputdir` ; do filename="$inputdir/$i" shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"` topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"` stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` - echo -e "\x1B[35mtype \x1B[32m/espeak $shortcut \x1B[35mfor $topic\x1B[m" + echo -e "\x1B[35mtype \x1B[32m/$basename $shortcut \x1B[35mfor $topic\x1B[m" done else echo "play an audio stream" -- cgit v1.2.3 From c142d2c760ad2ebc65aaa8164ef875677e669383 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 9 Apr 2011 00:22:21 -1100 Subject: espeak: use aplay instead of paplay --- modules/espeak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/espeak b/modules/espeak index eeb93c0a..4e88918f 100755 --- a/modules/espeak +++ b/modules/espeak @@ -21,7 +21,7 @@ speak() { echo "espeak: $@" fi #echo "espeak -p \"$pitch\" -v \"$lang\" \"$*\"" >&2 - (espeak --stdout -a $a -k $k -p $p -v $v -g $g | paplay)< Date: Fri, 22 Apr 2011 11:00:15 +0200 Subject: modules/twitter: use oauth --- modules/twitter | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/twitter b/modules/twitter index 5b1b0be9..26982525 100755 --- a/modules/twitter +++ b/modules/twitter @@ -1,11 +1,15 @@ #!/usr/bin/python #encode=utf8 -print "Bug Robert to implement Twitter-OAuth!" -exit(1) +#print "TODO Bug Robert to implement Twitter-OAuth!" +#exit(1) +import sys +#sys.path.append("/usr/local/lib/") -import sys, twitter +import twitter, os, pwd + +#os.getlogin = lambda: pwd.getpwuid(os.getuid())[0] sys.stderr = sys.stdout @@ -61,7 +65,7 @@ if len(sys.argv) > 1 and sys.argv[1] == "--help": -api = twitter.Api(username="shackspam", password="sh4ckit") +api = twitter.Api("Z7f9npE5ixvZ0lMCHDZBOg", "8z0gyfOABar1HxKvqL6fYXLqRFUPLQ9OOzDFt7Q4F4", "139766258-94TGPvNsJ8tYVv68eZewfXOIyDvRCWdycNlUgHrs", "NRnDQZPCoLrDizFvakZkSWgoG4vgGuT3OOMChSfiI") #api.SetXTwitterHeaders("Shackspace UTTERANCE","","0.00.0.01.42") -- cgit v1.2.3 From 1764e7de2142ecae969c689751e71a5d01dd5b99 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 22 Apr 2011 11:13:02 +0200 Subject: modules/ein_mal_eins: use $NOISE_linefeed --- modules/ein_mal_eins | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/ein_mal_eins b/modules/ein_mal_eins index 1715eb3d..fb385b31 100755 --- a/modules/ein_mal_eins +++ b/modules/ein_mal_eins @@ -33,6 +33,5 @@ Was ist, A geteilt durch B"`" aufgabe=`echo "$op" | sed -n "$o