NAME
Net::IRC3 - An event system independend IRC protocol module
VERSION
Version 0.4
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
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
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
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.