#!/usr/bin/perl use strict; use warnings; use POE qw(Component::IRC); use GlomBot::IRC; use GlomBot::IRC::Events; my $glombot = GlomBot::IRC->new; my $pci; my $session_id; foreach (GlomBot::IRC->CfgLoad()) { # Create new PCI object $pci = POE::Component::IRC->spawn( nick => $_[1], ircname => $_[2], username => $_[2], server => $_[3], port => $_[4], alias => "glomalias", ) or die "Uh oh.. $!"; $session_id = $pci->session_id(); print "session id1: $session_id\n"; # Create new bot object $glombot->{$session_id} = GlomBot::IRC->bot(@{$_}); # Put PCI object into bot's hash ref $glombot->{$session_id}->{irc} = $pci; # Initialize bot's logging mechanism $glombot->{$session_id}->{log} = $glombot->{$session_id}->LogInit(); print "Initialized bot " . $glombot->{$session_id}->id . " " . $glombot->{$session_id}->nick . "\n"; } print "Creating POE Session\n"; # Create POE Session POE::Session->create( package_states => [ 'GlomBot::IRC::Events' => [ qw(_default _start _stop irc_001 irc_connected irc_public irc_ctcp_version irc_disconnected irc_error irc_join irc_kick irc_mode irc_msg irc_nick irc_notice irc_part irc_public irc_quit irc_socketerr irc_topic irc_registered)], ], heap => { glombot => $glombot }, ); print "done"; # Run bots $poe_kernel->run;