# NOTE: Based on code by Kevin Lenzo & Patrick Cole (c) 1997
#
-if (&IsParam("useStrict")) { use strict; }
-
#######################################################################
####### IRC HOOK HELPERS IRC HOOK HELPERS IRC HOOK HELPERS ########
#######################################################################
# Determine floodwho.
my $c = "_default";
- if ($msgType =~ /public/i) { # public.
+ if ($msgType =~ /public/i) {
+ # public.
$floodwho = $c = lc $chan;
- } elsif ($msgType =~ /private/i) { # private.
+ } elsif ($msgType =~ /private/i) {
+ # private.
$floodwho = lc $who;
- } else { # dcc?
- &DEBUG("FIXME: floodwho = ???");
+ } else {
+ # dcc?
+ &FIXME("floodwho = ???");
}
my $val = &getChanConfDefault("floodRepeat", "2:5", $c);
my $i = scalar keys %{ $flood{$floodwho} };
if ($i > $count) {
- &msg($who,"overflow of messages ($i > $count)");
+ my $expire = $param{'ignoreAutoExpire'} || 5;
+
+# &msg($who,"overflow of messages ($i > $count)");
+ &msg($who,"Too many queries from you, ignoring for $expire minutes.");
&status("FLOOD overflow detected from $floodwho; ignoring");
- my $expire = $param{'ignoreAutoExpire'} || 5;
&ignoreAdd("*!$uh", $chan, $expire, "flood overflow auto-detected.");
return;
}
}
push(@ignore, keys %{ $ignore{"*"} }) if (exists $ignore{"*"});
- if ((!$skipmessage or &IsChanConf("seenStoreAll")) and
- &IsChanConf("seen") and
+ if ((!$skipmessage or &IsChanConf("seenStoreAll") > 0) and
+ &IsChanConf("seen") > 0 and
$msgType =~ /public/
) {
$seencache{$who}{'time'} = time();
# &DEBUG("IrcHooks: process returned '$_'.");
}
+ # hack to remove +o from ppl with +O flag.
+ if (exists $users{$userHandle} && exists $users{$userHandle}{FLAGS} &&
+ $users{$userHandle}{FLAGS} =~ /O/
+ ) {
+ $users{$userHandle}{FLAGS} =~ s/o//g;
+ }
+
return;
}
}
if (!defined $l) {
- &DEBUG("running chanlimitCheck from chanLimitVerify; FIXME! (chan = $chan)");
+ &DEBUG("$chan: running chanlimitCheck from chanLimitVerify.");
&chanlimitCheck();
return;
}
&VERB("chanServCheck($chan) called.",2);
if ( &IsParam("nickServ_pass") and !$nickserv) {
- &DEBUG("chanServ_ops($chan): nickserv enabled but not alive? (ircCheck)");
$conn->who("NickServ");
return 0;
}
+
# check for first hash then for next hash.
# todo: a function for &ischanop()? &isvoice()?
if (exists $channels{$chan} and exists $channels{$chan}{'o'}{$ident}) {