diff options
Diffstat (limited to 'scripts/irc')
-rwxr-xr-x | scripts/irc | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/scripts/irc b/scripts/irc deleted file mode 100755 index 3557d7a..0000000 --- a/scripts/irc +++ /dev/null @@ -1,79 +0,0 @@ -#! /bin/sh -## Shit-simple script to supply the "privmsg <recipient>" of IRC typein, and -## keep the connection alive. Pipe this thru "nc -v -w 5 irc-server port". -## Note that this mechanism makes the script easy to debug without being live, -## since it just echoes everything bound for the server. -## if you want autologin-type stuff, construct some appropriate files and -## shovel them in using the "<" mechanism. - -# magic arg: if "tick", do keepalive process instead of main loop -if test "$1" = "tick" ; then -# ignore most signals; the parent will nuke the kid -# doesn't stop ^Z, of course. - trap '' 1 2 3 13 14 15 16 - while true ; do - sleep 60 - echo "PONG !" - done -fi - -# top level: fire ourselves off as the keepalive process, and keep track of it -sh $0 tick & -ircpp=$! -echo "[Keepalive: $ircpp]" >&2 -# catch our own batch of signals: hup int quit pipe alrm term urg -trap 'kill -9 $ircpp ; exit 0' 1 2 3 13 14 15 16 -sleep 2 - -sender='' -savecmd='' - -# the big honkin' loop... -while read xx yy ; do - case "${xx}" in -# blank line: do nothing - "") - continue - ;; -# new channel or recipient; if bare ">", we're back to raw literal mode. - ">") - if test "${yy}" ; then - sender="privmsg ${yy} :" - else - sender='' - fi - continue - ;; -# send crud from a file, one line per second. Can you say "skr1pt kidz"?? -# *Note: uses current "recipient" if set. - "<") - if test -f "${yy}" ; then - ( while read zz ; do - sleep 1 - echo "${sender}${zz}" - done ) < "$yy" - echo "[done]" >&2 - else - echo "[File $yy not found]" >&2 - fi - continue - ;; -# do and save a single command, for quick repeat - "/") - if test "${yy}" ; then - savecmd="${yy}" - fi - echo "${savecmd}" - ;; -# default case goes to recipient, just like always - *) - echo "${sender}${xx} ${yy}" - continue - ;; - esac -done - -# parting shot, if you want it -echo "quit :Bye all!" -kill -9 $ircpp -exit 0 |