use POE; use POE::Component::Server::TCP; use POE::Component::IRC; POE::Component::Server::TCP->new( Port => '9999', Address => '0.0.0.0', ClientInput => \&client_input, ); POE::Session->create( package_states => [ main => [qw( _start irc_001 )], ], ); $poe_kernel->run(); sub _start { } sub client_input { ++$x; print "creating bot-$x\n"; POE::Component::IRC->new("bot-$x"); $_[KERNEL]->post("bot-$x", 'register', 'all'); $_[KERNEL]->post("bot-$x", "connect", { Nick => "j-bot-$x", Server => 'irc.freenode.net', Port => 6667, }); print "created bot-$x\n"; } sub irc_001 { print "CONNECTED ...\n"; }