AnyEvent-IRC
view release on metacpan or search on metacpan
lib/AnyEvent/IRC/Connection.pm view on Meta::CPAN
package AnyEvent::IRC::Connection;
use common::sense;
use AnyEvent;
use POSIX;
use AnyEvent::Socket;
use AnyEvent::Handle;
use AnyEvent::IRC::Util qw/mk_msg parse_irc_msg/;
use Object::Event;
use Scalar::Util qw/weaken/;
use base Object::Event::;
=head1 NAME
AnyEvent::IRC::Connection - An IRC connection abstraction
=head1 SYNOPSIS
use AnyEvent;
use AnyEvent::IRC::Connection;
my $c = AnyEvent->condvar;
my $con = new AnyEvent::IRC::Connection;
$con->connect ("localhost", 6667);
$con->reg_cb (
connect => sub {
my ($con) = @_;
$con->send_msg (NICK => 'testbot');
$con->send_msg (USER => 'testbot', '*', '0', 'testbot');
},
irc_001 => sub {
my ($con) = @_;
print "$_[1]->{prefix} says I'm in the IRC: $_[1]->{params}->[-1]!\n";
$c->broadcast;
}
);
$c->wait;
=head1 DESCRIPTION
The connection class. Here the actual interesting stuff can be done,
such as sending and receiving IRC messages. And it also handles
TCP connecting and even enabling of TLS.
Please note that CTCP support is available through the functions
C<encode_ctcp> and C<decode_ctcp> provided by L<AnyEvent::IRC::Util>.
=head2 METHODS
=over 4
=item $con = AnyEvent::IRC::Connection->new ()
This constructor doesn't take any arguments.
B<NOTE:> You are free to use the hash member C<heap> (which contains a hash) to
store any associated data with this object. For example retry timers or
anything else.
You can also access that member via the C<heap> method.
=cut
sub new {
my $this = shift;
( run in 0.622 second using v1.01-cache-2.11-cpan-39bf76dae61 )