All pastes #75977 Raw Edit

Miscellany

public text v1 · immutable
#75977 ·published 2006-06-30 20:38 UTC
rendered paste body
#!/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;