&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:
my $nick = $event->nick();
my($me,$chan,$why) = $event->args();
+ ### TODO: incomplete.
### .* wait (\d+) second/) {
- &status("X1 $msg");
+ &status("on_ttf: X1 $msg") if (defined $msg);
my $sleep = 5;
&status("going to sleep for $sleep...");
sleep $sleep;
return if ($skipmessage);
return unless (&IsParam("minVolunteerLength") or $addressed);
- local $ignore = 0;
-
foreach (@ignore) {
s/\*/\\S*/g;
- next unless ($nuh =~ /^\Q$_\E$/i);
- $ignore++;
- last;
+ next unless (eval { $nuh =~ /^$_$/i });
+
+ &status("IGNORE <$who> $message");
+ return;
}
if (defined $nuh) {