From f51ed5b2fc0bd8728d611d18b93c7306e735fc68 Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Fri, 24 Aug 2012 04:24:35 +0200 Subject: [PATCH] bot improved --- perl/irc_bot.pl | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/perl/irc_bot.pl b/perl/irc_bot.pl index 5335a05..d28acb9 100755 --- a/perl/irc_bot.pl +++ b/perl/irc_bot.pl @@ -6,6 +6,8 @@ use AnyEvent::IRC::Client; my $c = AnyEvent->condvar; my $cl = AnyEvent::IRC::Client->new; +my $timer; + $cl->reg_cb (connect => sub { my ($con, $err) = @_; if (defined $err) { @@ -13,8 +15,31 @@ $cl->reg_cb (connect => sub { return; } }); + +$cl->reg_cb (registered => sub { say "I'm in!"; }); +$cl->reg_cb (disconnect => sub { say "I'm out!"; $c->broadcast }); + +$cl->reg_cb ( + sent => sub { + my ($con) = @_; + + if ($_[2] eq 'PRIVMSG') { + print "Sent message!\n"; + + $timer = AnyEvent->timer ( + after => 1, + cb => sub { + undef $timer; + say "on est dans cb"; + $con->disconnect ('done') + } + ); + } + } +); + $cl->connect ('irc.geeknode.org', 6667, { nick => '[bot]kanette' }); -$cl->send_srv ( PRIVMSG => 'karchnu', 'Hi there!'); +$cl->send_srv ( PRIVMSG => 'karchnu', 'Bot enabled : woot'); $c->wait; $cl->disconnect;