NAME

Net::IRC3 - An event system independend IRC protocol module

VERSION

Version 0.3

SYNOPSIS

Using the simplistic Net::IRC3::Connection:

use AnyEvent;
use Net::IRC3::Connection;

my $c = AnyEvent->condvar;

my $con = new Net::IRC3::Connection;

$con->connect ("localhost", 6667);

$con->reg_cb (irc_001 => sub { print "$_[1]->{prefix} says i'm in the IRC: $_[1]->{trailing}!\n"; $c->broadcast; 0 });
$con->send_msg (undef, NICK => undef, "testbot");
$con->send_msg (undef, USER => 'testbot', "testbot", '*', '0');

$c->wait;

Using the more sophisticatd Net::IRC3::Client::Connection:

use AnyEvent;
use Net::IRC3::Client::Connection;

my $c = AnyEvent->condvar;

my $timer;
my $con = new Net::IRC3::Client::Connection;

$con->reg_cb (registered => sub { print "I'm in!\n"; 0 });
$con->reg_cb (disconnect => sub { print "I'm out!\n"; 0 });
$con->reg_cb (
   sent => sub {
      if ($_[2] eq 'PRIVMSG') {
         print "Sent message!\n";
         $timer = AnyEvent->timer (after => 1, cb => sub { $c->broadcast });
      }
      1
   }
);

$con->send_srv (PRIVMSG => "Hello there i'm the cool Net::IRC3 test script!", 'elmex');

$con->connect ("localhost", 6667);
$con->register (qw/testbot testbot testbot/);

$c->wait;
undef $timer;

$con->disconnect;

DESCRIPTION

The Net::IRC3 module consists of Net::IRC3::Connection, Net::IRC3::Client::Connection and Net::IRC3::Util. Net::IRC3 only contains this documentation. It manages connections and parses and constructs IRC messages.

Net::IRC3::Connection is very simple, if you don't want to care about all the other things that a client still has to do (like replying to PINGs and remembering who is on a channel), I recommend to read the Net::IRC3::Client::Connection page instead.

Note that the *::Connection module uses AnyEvent as it's IO event subsystem. You can integrate them into any application with a event system that AnyEvent has support for (eg. Gtk2 or Event).

EXAMPLES

See the samples/ directory for some examples on how to use Net::IRC3.

AUTHOR

Robin Redeker, <elmex@ta-sa.org>

SEE ALSO

Net::IRC3::Connection

Net::IRC3::Client::Connection

AnyEvent

RFC 2812 - Internet Relay Chat: Client Protocol

BUGS

Please report any bugs or feature requests to bug-net-irc3 at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-IRC3. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::IRC3

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Marc Lehmann for the new AnyEvent module!

COPYRIGHT & LICENSE

Copyright 2006 Robin Redeker, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.