First commit

This commit is contained in:
Juhani Haverinen 2013-08-29 12:48:14 +03:00
commit 66b96b7c49
1 changed files with 55 additions and 0 deletions

55
logibotti.sh Normal file
View File

@ -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