]> git.donarmstrong.com Git - infobot.git/commitdiff
prevent dupes in verstats collection.
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 30 Jan 2001 12:44:43 +0000 (12:44 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 30 Jan 2001 12:44:43 +0000 (12:44 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@269 c11ca15a-4712-0410-83d8-924469b57eb5

src/IRC/IrcHooks.pl

index b17cdbbbc71b6d844018c18ff33853e956fb2bc0..9a96ae44e476101e970d0906b947a3b9fb2baec4 100644 (file)
@@ -775,6 +775,51 @@ sub on_topicinfo {
     &status(">>> set by $b_cyan$setby$ob $timestr");
 }
 
+sub on_crversion {
+    my ($self, $event) = @_;
+    my $nick   = $event->nick();
+    my $ver;
+
+    if (scalar $event->args() != 1) {  # old.
+       $ver    = join ' ', $event->args();
+       $ver    =~ s/^VERSION //;
+    } else {                           # new.
+       $ver    = ($event->args())[0];
+    }
+
+    if (grep /^\Q$nick\E$/i, @vernick) {
+       &WARN("nick $nick found in vernick; skipping.");
+       return;
+    }
+    push(@vernick, $nick);
+
+    if ($ver =~ /bitchx/i) {
+       $ver{bitchx}{$nick}     = $ver;
+    } elsif ($ver =~ /xc\!|xchat/i) {
+       $ver{xchat}{$nick}      = $ver;
+    } elsif ($ver =~ /irssi/i) {
+       $ver{irssi}{$nick}      = $ver;
+    } elsif ($ver =~ /epic/i) {
+       $ver{epic}{$nick}       = $ver;
+    } elsif ($ver =~ /mirc/i) {
+       $ver{mirc}{$nick}       = $ver;
+    } elsif ($ver =~ /ircle/i) {
+       $ver{ircle}{$nick}      = $ver;
+    } elsif ($ver =~ /ircII/i) {
+       $ver{ircII}{$nick}      = $ver;
+    } elsif ($ver =~ /sirc /i) {
+       $ver{sirc}{$nick}       = $ver;
+    } elsif ($ver =~ /kvirc/i) {
+       $ver{kvirc}{$nick}      = $ver;
+    } elsif ($ver =~ /eggdrop/i) {
+       $ver{eggdrop}{$nick}    = $ver;
+    } elsif ($ver =~ /xircon/i) {
+       $ver{xircon}{$nick}     = $ver;
+    } else {
+       $ver{other}{$nick}      = $ver;
+    }
+}
+
 sub on_version {
     my ($self, $event) = @_;
     my $nick = $event->nick;