]> ruin.nu Git - NDIRC.git/blobdiff - Delling.pm
Only allow chattr in certain channels
[NDIRC.git] / Delling.pm
index dc4a0b09b02dbc8049708ab02bded2272029be70..e6ce4e5e328b8a2042ae72c6b66b61e64246f7e5 100644 (file)
@@ -28,14 +28,6 @@ extends 'NDIRC::Bot';
 use POE::Session;
 use ND::DB;
 
-use AI::MegaHAL;
-
-has hal => (
-       is => 'ro',
-       isa => 'Object',
-       lazy_build => 1,
-);
-
 my ($tick,$stattick) = (0,0);
 my $last_announcement = 0;
 
@@ -52,18 +44,14 @@ after irc_public => sub {
        $seen->execute($address);
 
        my $nickname = $irc->nick_name;
-       if ($msg =~ /^$nickname: (.*)/i){
-               my $text = $self->hal->do_reply($1);
-               $irc->yield(privmsg => $channel, "$nick: $text");
-       }elsif ($msg =~ /^(\S+): (.+)$/ && $self->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)/){
                        $msg = ".anon $_ $text";
+                       $self->parseCommand($msg,$irc,$nick,$address,$channel,$dbh);
                }
-
-       }
-       if ($self->parseCommand($msg,$irc,$nick,$address,$channel,$dbh)){
+       }elsif ($self->parseCommand($msg,$irc,$nick,$address,$channel,$dbh)){
                #Command parsed and run successfully
        }
 };
@@ -127,7 +115,7 @@ FROM users u WHERE hostmask = ?
                        if ($user->{password} eq ''){
                                $irc->yield(privmsg => $disp->targets->{members}, "$nick: Get a new random password with /msg delling !getpass . If you don't know your username, then you can get it with .points");
                        }
-                       if ($tick > 36 && not defined $user->{pid}){
+                       if ($tick > 12 && not defined $user->{pid}){
                                $irc->yield(privmsg => $disp->targets->{members}, "$nick: go to https://nd.ruin.nu/ and enter your coords.");
                        }
 
@@ -207,7 +195,7 @@ FROM users u
        JOIN fleets f USING (fid)
        JOIN fleet_ships fs USING (fid)
        JOIN defense_missions dm ON f.fid = dm.fleet
-       JOIN ship_stats ss ON fs.ship = ss.name
+       JOIN ship_stats ss USING (ship)
 WHERE NOT dm.announced
 GROUP BY username,call,tick,dm.fleet,p.value
                });
@@ -220,15 +208,8 @@ GROUP BY username,call,tick,dm.fleet,p.value
 
 }
 
-sub _build_hal {
-       my $hal = AI::MegaHAL->new('Path' => '.', 'Banner' => 0, 'Prompt' => 0, 'Wrap' => 0, 'AutoSave' => 1);
-       return $hal;
-}
-
 after sig_usr2 => sub {
        my $self = shift;
-       say 'Saving brain!';
-       $self->hal->_cleanup;
 };
 
 after _start => sub {