diff --git a/~/Bash/irc_logger.sh b/~/Bash/irc_logger.sh new file mode 100755 index 0000000..34774c0 --- /dev/null +++ b/~/Bash/irc_logger.sh @@ -0,0 +1,23 @@ +#!/bin/bash +nick="blb$$" +channel=admin +server=iiiypuk.me +config=/tmp/irclog +[ -n "$1" ] && channel=$1 +[ -n "$2" ] && server=$2 +config="${config}_${channel}" +echo "NICK $nick" > $config +echo "USER $nick +i * :$0" >> $config +echo "JOIN #$channel" >> $config +trap "rm -f $config;exit 0" INT TERM EXIT +tail -f $config | nc $server 6667 | while read MESSAGE +do + case "$MESSAGE" in + PING*) echo "PONG${MESSAGE#PING}" >> $config;; *QUIT*) ;; + *PART*) ;; + *JOIN*) ;; + *NICK*) ;; + *PRIVMSG*) echo "${MESSAGE}" | sed -nr "s/^:([^!]+).*PRIVMSG[^:]+:(.*)/[$(date '+%R')] \1> \2/p" >> $config;; + *) echo "${MESSAGE}";; + esac +done