commit 66b96b7c49b5627430bac6fe091e13cc9a63c4da Author: Juhani Haverinen Date: Thu Aug 29 12:48:14 2013 +0300 First commit diff --git a/logibotti.sh b/logibotti.sh new file mode 100644 index 0000000..75ff57a --- /dev/null +++ b/logibotti.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +echo ':j #osdev-offtopic' +while true +do + read LINE + CMD=$(echo "$LINE" | cut -d ':' -f 2- | cut -d ' ' -f 5) + case "$CMD" in + "#lastseen") + NICK=$(echo "$LINE" | cut -d ':' -f 2- | cut -d ' ' -f 6) + if test z"$NICK" != z + then + MSG="$(grep -n "^..:.. <.$NICK>" ~/irclogs/freenode/\#osdev-offtopic.log | tail -n 1)" + DAY=$(head -n $(echo $MSG | cut -d ':' -f 1) ~/irclogs/freenode/\#osdev-offtopic.log | grep '^--- Day changed ' | tail -n 1 | cut -d ' ' -f 4-) + TIME=$(echo "$MSG" | cut -d ':' -f 2- | cut -d ' ' -f 1) + echo $DAY $TIME + else + echo 'needs nick' + fi + ;; + "#quote") + Q=$(echo "$LINE" | cut -d ':' -f 2- | cut -d ' ' -f 6- | sed 's/$//g') + if test z"$Q" != z + then + MAXNUM=$(sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | grep -c "$Q") + LNUM=$(($RANDOM%$MAXNUM)) + sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | grep "$Q" | tail -n $LNUM | head -n 1 + else + MAXNUM=$(sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | wc -l) + LNUM=$(($RANDOM%$MAXNUM)) + sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | tail -n $LNUM | head -n 1 + Q= + fi + ;; + "#context") + if test z$LNUM != z + then + SLINE=$(($LNUM+10)) + FNAME= + while test -e ~/lblogs/$FNAME + do + FNAME=$(dd if=/dev/urandom of=/dev/stdout bs=256 count=1 2>/dev/null| md5sum | head -c 8) + done + if test z"$Q" = z"" + then + sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | head -n $MAXNUM | tail -n $SLINE | head -n 20 > ~/lblogs/$FNAME + else + sed '/^---/d' ~/irclogs/freenode/\#osdev-offtopic.log | sed '/^..:.. -!-/d' | grep "$Q" | head -n $MAXNUM | tail -n $SLINE | head -n 20 > ~/lblogs/$FNAME + fi + echo "gopher://smar.fi:7070/0/$FNAME" + LNUM= + fi + ;; + esac +done