59 lines
2.0 KiB
Bash
59 lines
2.0 KiB
Bash
#!/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
|
|
;;
|
|
"#wc")
|
|
grep -c "$(echo "$LINE" | cut -d ':' -f 2- | cut -d ' ' -f 6-)" ~/irclogs/freenode/\#osdev-offtopic.log
|
|
;;
|
|
esac
|
|
done
|