irc-bot/cobalt-handler

55 lines
1.1 KiB
Plaintext
Raw Normal View History

2010-12-15 22:36:16 -07:00
#! /bin/sh
2011-01-06 21:08:21 -07:00
pfx=$1; export pfx; shift
command=$1; export command; shift
2010-12-15 22:36:16 -07:00
sender=$1; export sender; shift
forum=$1; export forum; shift
2011-01-06 21:08:21 -07:00
text=$1; export text; shift
2010-12-15 22:36:16 -07:00
# $* is now args
2011-01-06 21:08:21 -07:00
# Debug output
echo ${pfx:+:}$pfx $command "$@" ${text:+:}"$text" 1>&2
raw () {
fmt="\007$1\n"; shift
printf "$fmt" "$@"
}
2010-12-15 22:36:16 -07:00
join () {
2011-01-06 21:08:21 -07:00
raw "JOIN $1"
}
2010-12-15 22:36:16 -07:00
case $command in
001)
2011-01-06 21:08:21 -07:00
join "#cobalt"
;;
433)
raw "NICK bottimus"
2010-12-15 22:36:16 -07:00
;;
PRIVMSG)
2010-12-16 21:13:34 -07:00
case "$forum" in
\#*)
2010-12-16 21:13:34 -07:00
./firebot "$text" || \
2010-12-16 22:02:43 -07:00
./whuffie woozle/whuffie.cdb "$text" || \
./infobot woozle/factoids.cdb "$text"
2010-12-16 22:03:50 -07:00
./notes woozle/notes "$text"
2010-12-16 21:13:34 -07:00
;;
esac
2010-12-15 22:36:16 -07:00
;;
INVITE)
join "$forum"
2011-01-06 21:08:21 -07:00
raw "PRIVMSG %s :Thanks for the invitation, %s." "$forum" "$sender"
2010-12-15 22:36:16 -07:00
;;
2011-01-06 21:08:21 -07:00
esac | while read -r line; do
echo $line 1>&2
case "$line" in
*)
printf "%s\r\n" "${line#}"
;;
*)
printf "PRIVMSG %s :%s\r\n" "$forum" "$line"
;;
esac
done
2010-12-15 22:36:16 -07:00