rendered paste body#!/usr/bin/perl
use Net::IRC;
use AI::MegaHAL;
use Data::Dumper;
my $hal = new AI::MegaHAL('Path' => './', 'Banner' => 0, 'Prompt' => 0, 'Wrap' => 0, 'AutoSave' => 1);
$irc = new Net::IRC;
$conn = $irc->newconn(Nick => 'hal', Username => 'hal', Server => 'noir.ca.us.trueirc.net', Port => 6667, Ircname => 'MegaHAL');
$conn->add_handler('public', \&on_public);
$conn->add_handler('376', \&on_connect);
sub on_connect {
my $self = shift;
print "Connected.\n Joining #hal.n\";
$self->join("#hal");
my $greet = $hal->initial_greeting();
if($greet =~ /^([a-zA-Z]{1})(.*)$/ig) { $greet = uc($1).lc($2); } # MegaHAL uc's the initial_greeting for some reason.
$self->privmsg("#hal", $greet);
}
sub on_public {
my ($conn, $event) = @_;
my $text = $event->{args}[0];
$conn->privmsg($event->{to}[0], $hal->do_reply($text));
}
$irc->start;