]> ruin.nu Git - NDIRC.git/blobdiff - Eos.pm
Make disp an instance variable, instead of heap, and move parseCommand to Bot
[NDIRC.git] / Eos.pm
diff --git a/Eos.pm b/Eos.pm
index 258dd729cd6502b16e427f9ae3d529cbf073f95b..75930997bfb18e63ab2f1085430e1c4bf42009ae 100644 (file)
--- a/Eos.pm
+++ b/Eos.pm
@@ -26,20 +26,19 @@ use Moose;
 extends 'NDIRC::Bot';
 
 use POE::Session;
-use NDIRC::Misc;
 use ND::DB;
 
 my ($tick,$stattick) = DB()->selectrow_array(q{SELECT tick(),max(tick) FROM planet_stats});
 my $last_announcement = 0;
 
 sub irc_public {
-       my ($sender, $heap, $who, $where, $msg) = @_[SENDER, HEAP, ARG0 .. ARG2];
+       my ($self,$sender, $who, $where, $msg) = @_[OBJECT,SENDER, ARG0 .. ARG2];
        my ($nick,$username,$address) = ( split /[!@]/, $who );
        my $channel = $where->[0];
 
        my $irc = $sender->get_heap();
 
-       if ($msg =~ /^(\S+): (.+)$/ && $heap->{disp}->has_command('anon',$channel)){
+       if ($msg =~ /^(\S+): (.+)$/ && $self->disp->has_command('anon',$channel)){
                my $_ = $1;
                my $text = $2;
                unless ($irc->is_channel_member($channel,$1) || /(Constructing|Researching)/){
@@ -47,31 +46,31 @@ sub irc_public {
                }
 
        }
-       if (parseCommand($msg,$irc,$nick,$address,$channel,$heap->{disp},DB())){
+       if ($self->parseCommand($msg,$irc,$nick,$address,$channel,DB())){
                #Command parsed and run successfully
        }
 }
 
 
 sub irc_msg {
-       my ($sender, $heap, $who, $where, $msg) = @_[SENDER, HEAP, ARG0 .. ARG2];
+       my ($self,$sender, $who, $where, $msg) = @_[OBJECT,SENDER, ARG0 .. ARG2];
        my ($nick,$username,$address) = ( split /[!@]/, $who );
        my $irc = $sender->get_heap();
 
-       if (parseCommand($msg,$irc,$nick,$address,'pm',$heap->{disp},DB())){
+       if ($self->parseCommand($msg,$irc,$nick,$address,'pm',DB())){
                #Command parsed and run successfully
        }else{
-               my $disp = $heap->{disp};
+               my $disp = $self->disp;
                $irc->yield(privmsg => $disp->targets->{def}, chr(3)."04 $nick >> $msg");
-               parseCommand("~report_incs $msg",$irc,$nick,' BATCH ',$disp->targets->{def},$heap->{disp},DB());
+               $self->parseCommand("~report_incs $msg",$irc,$nick,' BATCH ',$disp->targets->{def},DB());
        }
 }
 
 sub irc_join {
-       my ($sender, $heap, $who, $channel) = @_[SENDER, HEAP, ARG0 .. ARG1];
+       my ($self,$sender, $who, $channel) = @_[OBJECT,SENDER, ARG0 .. ARG1];
        my ($nick,$username,$address) = ( split /[!@]/, $who );
        my $irc = $sender->get_heap();
-       my $disp = $heap->{disp};
+       my $disp = $self->disp;
 
        my $dbh = DB();
 
@@ -111,12 +110,12 @@ FROM users u WHERE hostmask = ?
 }
 
 sub refresh {
-       my ($kernel,$heap) = @_[KERNEL,HEAP];
+       my ($self,$kernel,$heap) = @_[OBJECT,KERNEL,HEAP];
        $kernel->delay( refresh => 60 );
        print 'Time: ' . time() . ' Lag: ' . $heap->{connector}->lag() . "\n";
 
        my $irc = $heap->{irc};
-       my $disp = $heap->{disp};
+       my $disp = $self->disp;
        my $dbh = DB();
 
        my @row = $dbh->selectrow_array(q{SELECT tick(), max(tick) FROM planet_stats});
@@ -134,7 +133,7 @@ sub refresh {
        while (my $req = $ircreqs->fetchrow_hashref){
                if ($req->{channel} eq 'def'){
                        $irc->yield(privmsg => $disp->targets->{def}, chr(3)."04 ## $req->{username} via webbie ## >> $req->{message}");
-                       parseCommand("~report_incs $req->{message}",$irc,$req->{username},' BATCH ',$disp->targets->{def},$heap->{disp},$dbh);
+                       $self->parseCommand("~report_incs $req->{message}",$irc,$req->{username},' BATCH ',$disp->targets->{def},$dbh);
                }elsif(exists $disp->targets->{$req->{channel}}){
                        $irc->yield(privmsg => $disp->targets->{$req->{channel}}, "<$req->{username} via webbie> $req->{message}");
                }