#!/usr/bin/perl
use warnings;
use strict;
use POE;
use POE::Component::Server::IRC;
my $pocosi = POE::Component::Server::IRC->spawn (Alias => 'ircd', Debug => 1);
POE::Session->create (
inline_states => {
_start => \&test_start,
_stop => \&test_stop,
},
heap => { Obj => $pocosi },
);
$poe_kernel->run();
exit 0;
sub test_start {
my ($kernel,$heap) = @_[KERNEL,HEAP];
$kernel->post ( 'ircd' => 'register' );
$kernel->post ( 'ircd' => 'configure' => { Auth => 1, AntiFlood => 1 } );
$kernel->post ( 'ircd' => 'add_i_line' => { IPMask => '*', Port => 6667 } );
$kernel->post ( 'ircd' => 'add_operator' => { UserName => 'Flibble', Password => 'letmein' } );
$kernel->post ( 'ircd' => 'add_listener' => { Port => 6667 } );
$kernel->post ( 'ircd' => 'set_motd' => [ 'This is an experimental server', 'Testing POE::Component::Server::IRC', 'Enjoy!' ] );
}
sub test_stop {
print "Server stopped\n";
}
####
POE::Session->create (
inline_states => {
_start => \&test_start,
_stop => \&test_stop,
# ircd_client_privmsg => \&POE::Component::Server::IRC::hue_privmsg_handler, ## 1
},
# object_states => [ $pocosi => { ircd_client_privmsg => 'hue_privmsg_handler' },], ## 2
# package_states => [ 'POE::Component::Server::IRC' => { ircd_client_privmsg => 'hue_privmsg_handler' },], ## 3
heap => { Obj => $pocosi },
);
####
$kernel->post ( 'ircd', 'ircd_client_privmsg', 'test1');
$kernel->delay ( 'ircd_client_privmsg', 2, 'test2');
####
my $pocosi_ircd_client_message = \&POE::Component::Server::IRC::ircd_client_message;
sub POE::Component::Server::IRC::ircd_client_message {
print "got in!\n";
# $pocosi_ircd_client_message->(@_);
}