From 89f4d9f87a437d294eeb0c1cc5c796e09075e423 Mon Sep 17 00:00:00 2001 From: dms Date: Tue, 13 Feb 2001 14:30:03 +0000 Subject: [PATCH] added reason on ban. git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@389 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/IrcHooks.pl | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/IRC/IrcHooks.pl b/src/IRC/IrcHooks.pl index 6e9bf14..a5a8156 100644 --- a/src/IRC/IrcHooks.pl +++ b/src/IRC/IrcHooks.pl @@ -429,18 +429,28 @@ sub on_join { my $ban = $_; s/\?/./g; s/\*/\\S*/g; - next unless ($nuh =~ /^$_$/i); + my $mask = $_; + next unless ($nuh =~ /^$mask$/i); ### TODO: check $channels{$chan}{'b'} if ban already exists. foreach (keys %{ $channels{$chan}{'b'} }) { &DEBUG(" bans_on_chan($chan) => $_"); } - &DEBUG("ban($ban, $chan);"); + my $reason = "no reason"; + foreach ($chan, "*") { + next unless (exists $bans{$_}); + next unless (exists $bans{$_}{$mask}); + + my @array = @{ $bans{$_}{$mask} }; + $reason ||= $array[4]; + last; + } + &DEBUG("on_join: ban: reason => '$reason'."); + &ban($ban, $chan); - ### TODO: get ban message from ban list. - &DEBUG("kick($who, $chan, NULL);"); - &kick($who, $chan, "NULL"); + &kick($who, $chan, $reason); + last; } -- 2.39.2