# HG changeset patch # User Dominic Cleal # Date 1228604098 0 # Node ID 1d57373d1c04d7378a814ad4a1252dd21f55dc59 # Parent 7bcc70b2121aabea3581528b8f3ce889b5338fce# Parent db2e2a751dd6e48e3419d75161824762b5f122e0 Merging in df's branch diff -r db2e2a751dd6 -r 1d57373d1c04 skillbot.pl --- a/skillbot.pl Sat Dec 06 22:42:07 2008 +0000 +++ b/skillbot.pl Sat Dec 06 22:54:58 2008 +0000 @@ -106,6 +106,7 @@ $self->add_handler('cversion', \&on_cversion); $self->add_handler('cping', \&on_ping); $self->add_handler('join', \&on_join); + $self->add_handler('public', \&on_public); } sub irc_debug @@ -219,6 +220,34 @@ } } +sub on_public +{ + my ($self, $event) = @_; + my ($their_nick, $msg) = ($event->nick, $event->args); + + if ($msg =~ /^\!eta/i) { + my $found = 0; + for my $f (@friends) { + if ($f->{nick} eq $their_nick) { + my $text = (defined $f->{skill} + ? sprintf("Currently training %s (finish in %s)", + $f->{skill}->name, + $f->{skill}->time_remaining) + : "No skill currently training"); + + $self->privmsg('#' . $config{channel}, sprintf( + chr(2) . "%s:" . chr(15) . " %s", + $f->{char}->name, encode("utf8", $text))); + $found++; + } + } + + if ($found == 0) { + $self->privmsg('#' . $config{channel}, "No characters found"); + } + } +} + sub on_notice { my ($self, $event) = @_;