AnyEvent-IRC-Server
view release on metacpan or search on metacpan
examples/proxy.pl view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Encode;
use AE;
use AnyEvent::IRC::Server;
use AnyEvent::IRC::Client;
use Lingua::JA::Gal;
use opts;
use Data::Dumper;
opts my $port => 'Int';
my $ircd = AnyEvent::IRC::Server->new(
port => $port,
servername => 'localhost'
);
$ircd->run();
my $ic = AnyEvent::IRC::Client->new;
lib/AnyEvent/IRC/Server.pm view on Meta::CPAN
BEGIN {
no strict 'refs';
while (my ($code, $name) = each %AnyEvent::IRC::Util::RFC_NUMCODE_MAP) {
*{"${name}"} = sub () { $code };
}
};
sub debugf {
return unless $ENV{AEIS_DEBUG};
require Data::Dumper;
require Term::ANSIColor;
local $Data::Dumper::Terse=1;
local $Data::Dumper::Indent=0;
my $fmt = shift;
my $s = sprintf $fmt, (map {
ref($_) ? (
Data::Dumper::Dumper($_)
) : (defined($_) ? $_ : '<<UNDEF>>')
} @_);
my ($package, $filename, $line) = caller(0);
$s .= " at $filename line $line\n";
print Term::ANSIColor::colored(["cyan"], $s);
}
sub new {
my $class = shift;
my $self = $class->SUPER::new(
t/01-simple.t view on Meta::CPAN
registered => sub {
ok 1, 'registered';
$irc->send_srv(JOIN => '#foo');
$irc->send_srv(PRIVMSG => '#foo', 'yo');
$irc->send_srv(TOPIC => 'boo');
},
sent => sub {
ok 1, 'sentsrv';
},
'irc_privmsg' => sub {
# use Data::Dumper; warn Dumper($_[1]);
},
'publicmsg' => sub {
my ($irc, $channel, $raw) = @_;
my $cb = shift @callbacks;
$cb->($channel, $raw);
if (scalar(@callbacks) == 0) {
$cv->send();
}
},
'join' => sub {
( run in 0.506 second using v1.01-cache-2.11-cpan-4d50c553e7e )