]> git.donarmstrong.com Git - infobot.git/blobdiff - src/IRC/IrcHooks.pl
- now support verstats for those who don't reply to "CTCP VERSION
[infobot.git] / src / IRC / IrcHooks.pl
index 2d03d0cb534829a3bc4dbf54d17fc162c70e2759..985fbacf2c4a6cd9ceec4a3e6c073887a47d2c4c 100644 (file)
@@ -189,6 +189,9 @@ sub on_endofmotd {
        @joinchan = &getJoinChans(1);
     }
 
+    # ok, we're free to do whatever we want now. go for it!
+    $running = 1;
+
     # unfortunately, Net::IRC does not implement this :(
     # invalid command... what is it?
 #    &rawout("NOTIFY $ident");
@@ -427,9 +430,10 @@ sub on_invite {
 
     ### TODO: join key.
     if (exists $chanconf{$chan}) {
+       # it's still buggy :/
        if (&validChan($chan)) {
            &msg($who, "i'm already in \002$chan\002.");
-           next;
+#          return;
        }
 
        &status("invited to $b_blue$chan$ob by $b_cyan$nick$ob");
@@ -892,7 +896,7 @@ sub on_quit {
 ###    $chan   = $reason;      # no.
 
     my $count  = 0;
-    foreach (keys %channels) {
+    foreach (grep !/^_default$/, keys %channels) {
        # fixes inconsistent chanstats bug #1.
        if (!&IsNickInChan($nick,$_)) {
            $count++;
@@ -1044,7 +1048,7 @@ sub on_crversion {
     }
 
     if (grep /^\Q$nick\E$/i, @vernick) {
-       &WARN("nick $nick found in vernick; skipping.");
+       &WARN("nick $nick found in vernick ($ver); skipping.");
        return;
     }
     push(@vernick, $nick);
@@ -1058,17 +1062,17 @@ sub on_crversion {
     } elsif ($ver =~ /irssi/i) {
        $ver{irssi}{$nick}      = $ver;
 
-    } elsif ($ver =~ /epic/i) {
+    } elsif ($ver =~ /epic|(Third Eye)/i) {
        $ver{epic}{$nick}       = $ver;
 
     } elsif ($ver =~ /mirc/i) {
-       &DEBUG("verstats: mirc: $nick => '$ver'.");
+#      &DEBUG("verstats: mirc: $nick => '$ver'.");
        $ver{mirc}{$nick}       = $ver;
 
     } elsif ($ver =~ /ircle/i) {
        $ver{ircle}{$nick}      = $ver;
 
-    } elsif ($ver =~ /ircII/i) {
+    } elsif ($ver =~ /ircII|PhoEniX/i) {
        $ver{ircII}{$nick}      = $ver;
 
     } elsif ($ver =~ /sirc /i) {