]> git.donarmstrong.com Git - infobot.git/blobdiff - src/IRC/IrcHooks.pl
more multinick
[infobot.git] / src / IRC / IrcHooks.pl
index 9fee8308553f81f5b2fa3a24ad8dd734fc3908cc..158cf548283c37c25778296d9fc232c144da61c0 100644 (file)
@@ -150,7 +150,7 @@ sub on_ison {
     &DEBUG("on_ison: x1 = '$x1', x2 => '$x2'");
 }
 
-sub on_endofmotd {
+sub on_connected {
     $conn = shift(@_);
 
     # update IRCStats.
@@ -170,12 +170,9 @@ sub on_endofmotd {
 
     if ( scalar keys %users < 2 ) {
         &status( '!' x 40 );
-        &status(
-"!!! Ok.  Now type '/msg $ident PASS <pass>' to get master access through DCC CHAT."
-        );
+        &status("!!! Ok.  Now type '/msg $ident PASS <pass>' to get master access through DCC CHAT.");
         &status( '!' x 40 );
     }
-
     # end of first time run.
 
     if ( &IsChanConf('Wingate') > 0 ) {
@@ -213,12 +210,10 @@ sub on_endofmotd {
     # Q, as on quakenet.org.
     if ( &IsParam('Q_pass') ) {
         &status('Authing to Q...');
-        &rawout(
-"PRIVMSG Q\@CServe.quakenet.org :AUTH $param{'Q_user'} $param{'Q_pass'}"
-        );
+        &rawout("PRIVMSG Q\@CServe.quakenet.org :AUTH $param{'Q_user'} $param{'Q_pass'}");
     }
 
-    &status('End of motd. Now lets join some channels...');
+    &status("$ident End of motd. Now lets join some channels...");
 
     #&joinNextChan();
 }
@@ -468,7 +463,7 @@ sub on_endofnames {
 
     &chanServCheck($chan);
 
-    # schedule used to solve ircu (OPN) "target too fast" problems.
+    # schedule used to solve ircu (OPN) 'target too fast' problems.
     $conn->schedule( 5, sub { &joinNextChan(); } );
 }
 
@@ -816,24 +811,25 @@ sub on_notice {
     my $nick    = $event->nick();
     my $chan    = ( $event->to )[0];
     my $args    = ( $event->args )[0];
+    my $mynick  = $conn->nick();
 
     if ( $nick =~ /^NickServ$/i ) {    # nickserv.
-        &status("NickServ: <== '$args'");
+        &status("NickServ: $mynick <== '$args'");
 
         my $check = 0;
         $check++ if ( $args =~ /^This nickname is registered/i );
         $check++ if ( $args =~ /nickname.*owned/i );
 
         if ($check) {
-            &status("nickserv told us to register; doing it.");
+            &status("nickserv told $mynick to register; doing it.");
 
             if ( &IsParam('nickServ_pass') ) {
-                &status("NickServ: ==> Identifying.");
+                &status("NickServ: ==> Identifying as $mynick.");
                 &rawout("PRIVMSG NickServ :IDENTIFY $param{'nickServ_pass'}");
                 return;
             }
             else {
-                &status("We can't tell nickserv a passwd ;(");
+                &status("$mynick can't tell nickserv a passwd ;(");
             }
         }
 
@@ -844,8 +840,7 @@ sub on_notice {
             foreach ( &ChanConfList('chanServ_ops') ) {
                 next unless &chanServCheck($_);
                 next if ($done);
-                &DEBUG(
-                    "nickserv activated or restarted; doing chanserv check.");
+                &DEBUG('nickserv activated or restarted; doing chanserv check.');
                 $done++;
             }
 
@@ -874,7 +869,7 @@ sub on_other {
     my $chan    = ( $event->to )[0];
     my $nick    = $event->nick;
 
-    &status("!!! other called.");
+    &status('!!! other called.');
     &status("!!! $event->args");
 }
 
@@ -928,7 +923,7 @@ sub on_ping_reply {
     my $nick    = $event->nick;
     my $t       = ( $event->args )[1];
     if ( !defined $t ) {
-        &WARN("on_ping_reply: t == undefined.");
+        &WARN('on_ping_reply: t == undefined.');
         return;
     }
 
@@ -954,7 +949,7 @@ sub on_public {
 
     # rare case should this happen - catch it just in case.
     if ( $bot_pid != $$ ) {
-        &ERROR("run-away fork; exiting.");
+        &ERROR('run-away fork; exiting.');
         &delForked($forker);
     }
 
@@ -969,7 +964,7 @@ sub on_public {
     # cache it.
     my $time = time();
     if ( !$cache{ircTextCounters} ) {
-        &DEBUG("caching ircTextCounters for first time.");
+        &DEBUG('caching ircTextCounters for first time.');
         my @str = split( /\s+/, &getChanConf('ircTextCounters') );
         for (@str) { $_ = quotemeta($_); }
         $cache{ircTextCounters} = join( '|', @str );
@@ -982,7 +977,7 @@ sub on_public {
         &VERB( "textcounters: $x matched for $who", 2 );
         my $c = $chan || 'PRIVATE';
 
-        # better to do "counter=counter+1".
+        # better to do 'counter=counter+1'.
         # but that will avoid time check.
         my ( $v, $t ) = &sqlSelect(
             'stats',
@@ -1201,11 +1196,17 @@ sub on_crversion {
     }
     push( @vernick, $nick );
 
+    &DEBUG("on_crversion: Got '$ver' from $nick");
+
     if ( $ver =~ /bitchx/i ) {
         $ver{bitchx}{$nick} = $ver;
 
     }
-    elsif ( $ver =~ /xc\!|xchat/i ) {
+    elsif ( $ver =~ /infobot/i ) {
+        $ver{infobot}{$nick} = $ver;
+
+    }
+    elsif ( $ver =~ /(xc\!|xchat)/i ) {
         $ver{xchat}{$nick} = $ver;
 
     }
@@ -1213,20 +1214,19 @@ sub on_crversion {
         $ver{irssi}{$nick} = $ver;
 
     }
-    elsif ( $ver =~ /epic|(Third Eye)/i ) {
+    elsif ( $ver =~ /(epic|Third Eye)/i ) {
         $ver{epic}{$nick} = $ver;
 
     }
-    elsif ( $ver =~ /ircII|PhoEniX/i ) {
+    elsif ( $ver =~ /(ircII|PhoEniX)/i ) {
         $ver{ircII}{$nick} = $ver;
 
     }
     elsif ( $ver =~ /mirc/i ) {
-
-        #      &DEBUG("verstats: mirc: $nick => '$ver'.");
+        # Apparently, mIRC gets the reply as "VERSION " and doesnt like the
+        # space, so mirc matching is considered bugged.
         $ver{mirc}{$nick} = $ver;
 
-        # ok... then we get to the lesser known/used clients.
     }
     elsif ( $ver =~ /ircle/i ) {
         $ver{ircle}{$nick} = $ver;