use POE;
ElizaBot->new(
Nick => 'doctor',
Server => 'grou.ch',
Port => 6667,
);
$poe_kernel->run();
exit(0);
package ElizaBot;
use Chatbot::Eliza;
use POE;
use POE::Component::IRC::Object;
use base qw(POE::Component::IRC::Object);
BEGIN { $chatbot = Chatbot::Eliza->new(); }
sub irc_001 {
$_[OBJECT]->join( "#elizabot" );
print "Joined channel #elizabot\n";
}
sub irc_public {
my ($self, $kernel, $who, $where, $msg) =
@_[OBJECT, ARG0, ARG1, ARG2];
$msg =~ s/^doctor[:,]?\s+//;
my ($nick, undef) = split(/!/, $who, 2);
my $channel = $where->[0];
my $response = $chatbot->transform($msg);
$self->privmsg( $channel, "$nick: $response" );
}
sub irc_join {
my ($self, $who, $channel) =
@_[OBJECT, ARG0, ARG1];
my ($nick, undef) = split(/!/, $who, 2);
$self->privmsg( $channel, "$nick: How can I help you?" );
}
1;