]> git.donarmstrong.com Git - infobot.git/commitdiff
forgot to set nuh for on_join; fixed up ban check on join.
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 9 Feb 2001 13:37:38 +0000 (13:37 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 9 Feb 2001 13:37:38 +0000 (13:37 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@370 c11ca15a-4712-0410-83d8-924469b57eb5

src/IRC/IrcHooks.pl

index c76e1b514b78ec26f843e2ee02a833b838916856..70b03a270f8fc2002cfe397e17be4575e349deff 100644 (file)
@@ -418,23 +418,24 @@ sub on_join {
     &status(">>> join/$b_blue$chan$ob $b_cyan$who$ob $b_yellow($ob$user\@$host$b_yellow)$ob$netsplitstr");
 
     $channels{$chan}{''}{$who}++;
-    $nuh{lc $who} = $who."!".$user."\@".$host unless (exists $nuh{lc $who});
+    $nuh         = $who."!".$user."\@".$host;
+    $nuh{lc $who} = $nuh unless (exists $nuh{lc $who});
 
-    ### on-join ban. (TODO: kick)
-    if (exists $bans{$chan}) {
-       ### TODO: need to do $chan and _default
-       foreach (keys %{ $bans{$chan} }) {
-           s/\*/\\S*/g;
-           next unless /^\Q$nuh\E$/i;
-
-           foreach (keys %{ $channels{$chan}{'b'} }) {
-               &DEBUG(" bans_on_chan($chan) => $_");
-           }
+    ### on-join bans.
+    my @bans   = keys %{ $bans{$chan} };
+    push(@bans, keys %{ $bans{"*"} });
+    foreach (@bans) {
+       s/\*/\\S*/g;
+       next unless /^\Q$nuh\E$/i;
 
-           ### TODO: check $channels{$chan}{'b'} if ban already exists.
-           &ban( "*!*@".&makeHostMask($host), $chan);
-           last;
+       ### TODO: check $channels{$chan}{'b'} if ban already exists.
+       foreach (keys %{ $channels{$chan}{'b'} }) {
+           &DEBUG(" bans_on_chan($chan) => $_");
        }
+
+       ### TODO: kick
+       &ban( "*!*@".&makeHostMask($host), $chan);
+       last;
     }
 
     ### ROOTWARN: