]> ruin.nu Git - NDIRC.git/blobdiff - Scans.pm
Integrated the updated .stop and .vstop into shipEff
[NDIRC.git] / Scans.pm
index f4e0e5be6ec9e81f1568b8124ac7fac6fcf4f765..5ad4b71f8a0102a4708cfc864323b4f8b50afc73 100644 (file)
--- a/Scans.pm
+++ b/Scans.pm
 #   Free Software Foundation, Inc.,                                       *
 #   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
 #**************************************************************************/
-package ND::IRC::Scans;
+package NDIRC::Scans;
 use strict;
 use warnings;
 use ND::DB;
-use ND::IRC::Access;
+use NDIRC::Access;
 require Exporter;
 
 our @ISA = qw/Exporter/;
 
-our @EXPORT = qw/addScan sendScan/;
+our @EXPORT = qw/addScan addScanGroup sendScan/;
 
 sub addScan {
        my ($id,$verbose) = @_;
-       DB();
        if (1){
-               unless ($ND::DBH->selectrow_array("SELECT scan_id FROM scans WHERE scan_id = ? AND tick >= tick() - 48",undef,$id)){
+               unless ($ND::DBH->selectrow_array("SELECT scan_id FROM scans WHERE scan_id = ? AND tick >= tick() - 168",undef,$id)){
                        my @user = $ND::DBH->selectrow_array(q{SELECT uid,username, scan_points, tick() 
                                FROM users WHERE hostmask ILIKE ? },undef,$ND::address);
                        if ($ND::DBH->do(q{INSERT INTO scans (scan_id,tick,"type") VALUES (?,tick(),COALESCE(?,'-1'))},
@@ -49,12 +48,39 @@ sub addScan {
                }
        }
 }
+sub addScanGroup {
+       my ($id,$verbose) = @_;
+       if (1){
+               unless ($ND::DBH->selectrow_array("SELECT scan_id FROM scans WHERE type = 'group' AND  scan_id = ? AND tick >= tick() - 168",undef,$id)){
+                       my @user = $ND::DBH->selectrow_array(q{SELECT uid,username, scan_points, tick() 
+                               FROM users WHERE hostmask ILIKE ? },undef,$ND::address);
+                       if ($ND::DBH->do(q{INSERT INTO scans (scan_id,tick,"type",scan) VALUES (?,tick(),'group',COALESCE(?,'-1'))},
+                                       undef,$id,$user[0]) == 1){
+                               if (@user){
+                                       $ND::server->command("msg $ND::target Added scan group, at tick $user[3]. Points will be added after parsing");
+                               }elsif ($verbose){
+                                       $ND::server->command("msg $ND::target Added scan, but unknown user, no points");
+                               }
+                       }
+               }elsif ($verbose){
+                       $ND::server->command("msg $ND::target a scan with that id has already been added within the last 48 ticks");
+               }
+       }
+}
+
 sub sendScan {
-       my ($target,$msg) = @_;
-       DB();
+       my ($msg, $command) = @_;
+       my ($target,$mess);
+       if (defined $msg && $msg =~ /^(\S+) (.*)$/){
+               $target = $1;
+               $mess = $2;
+       }else{
+               $ND::server->command("notice $ND::nick syntax: $command nick message");
+               return;
+       }
        if (scanner()){
-               $ND::server->command("msg $target ".chr(2).$msg.chr(3)."4 (reply with /msg $ND::scanchan)");
-               $ND::server->command("msg $ND::target ${ND::C}3$1 << $2");
+               $ND::server->command("msg $target ".chr(2).$mess.chr(3)."4 (reply with /msg $ND::scanchan)");
+               $ND::server->command("msg $ND::target ${ND::C}3$target << $mess");
        }
 }