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:

    * AnnoCPAN: Annotated CPAN documentation
        <http://annocpan.org/dist/Net-IRC3>

    * CPAN Ratings
        <http://cpanratings.perl.org/d/Net-IRC3>

    * RT: CPAN's request tracker
        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-IRC3>

    * Search CPAN
        <http://search.cpan.org/dist/Net-IRC3>

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.

