Skip to content

Instantly share code, notes, and snippets.

Created March 8, 2010 19:30
Show Gist options
  • Save anonymous/325487 to your computer and use it in GitHub Desktop.
Save anonymous/325487 to your computer and use it in GitHub Desktop.
use strict;
use Net::IRC;
my $ts = localtime;
my $irc = new Net::IRC;
print "[$ts] Connecting to IRC..\n";
my $conn = $irc->newconn(Server => "irc.freenode.net",
Port => 6667,
Nick => "kazi-bot",
Ircname => "kazi-bot",
Channel => "#botters",
Username => "kazi-bot")
or die "[$ts] Can't connect to IRC server.\n";
sub on_connect {
my $self = shift;
$conn->join("#botters");
}
sub on_init {
my ($self, $event) = @_;
my (@args) = ($event->args);
shift (@args);
print "[$ts] @args\n";
}
sub on_public {
my ($self, $event) = @_;
my @to = $event->to;
my ($nick, $mynick) = ($event->nick, $self->nick);
my $host=$event->host;
my ($arg) = ($event->args);
print "[$ts] <$nick> $arg\n";
if ($arg = "!test"){ $conn->privmsg("#botters", "Testing!");
}
}
sub on_msg {
my ($self, $event) = @_;
my ($nick) = $event->nick;
my ($arg) = ($event->args);
my $host=$event->host;
print "[$ts] <$nick> $arg\n";
}
sub on_nick_taken {
my ($self) = shift;
$self->nick("kazi-bot2");
}
$conn->add_handler('public', \&on_public);
$conn->add_handler('msg', \&on_msg);
$conn->add_global_handler([ 251,252,253,254,302,255 ], \&on_init);
$conn->add_global_handler(376, \&on_connect);
$conn->add_global_handler(433, \&on_nick_taken);
$irc->start;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment