my $warnmode = &getChanConf("rootWarnMode");
if ($attempt == 0) { # first timer.
- if (defined $warnmode and $warnmode =~ /aggressive/i) {
- &status("rootwarn: Detected root user; notifying nick and channel.");
- rawout("PRIVMSG $chan :R".("O" x int(rand 80 + 2))."T has landed!");
- } else {
+ if (defined $warnmode and $warnmode =~ /quiet/i) {
&status("rootwarn: Detected root user; notifying user");
+ } else {
+ &status("rootwarn: Detected root user; notifying nick and channel.");
+ rawout("PRIVMSG $chan :ROO".("O" x int(rand 68))."T has landed!");
}
if ($_ = &getFactoid("root")) {
}
} else { # >3rd time occurrance.
- if ($warnmode =~ /aggressive/i) {
+
+ # disable this for the time being.
+ if (0 and $warnmode =~ /aggressive/i) {
if ($channels{$chan}{'o'}{$ident}) {
&status("RootWarn: $nick... sigh... bye bye.");
rawout("MODE $chan +b *!root\@$host"); # ban
$attempt++;
### TODO: OPTIMIZE THIS.
- if (1) { # old
+ # ok... don't record the attempt if nick==root.
+ if (1 and $nick ne "root") { # old
&dbSet("rootwarn", { nick => lc($nick) }, { attempt => $attempt });
&dbSet("rootwarn", { nick => lc($nick) }, { time => time() });
&dbSet("rootwarn", { nick => lc($nick) }, { host => $user."\@".$host });
&dbSet("rootwarn", { nick => lc($nick) }, { channel => $chan });
- } else { # new. replace.
+ } else { # new. replace. TODO
&dbSet("rootwarn", "nick", lc($nick), "attempt", $attempt);
&dbSet("rootwarn", "nick", lc($nick), "time", time());
&dbSet("rootwarn", "nick", lc($nick), "host", $user."\@".$host);
}
# Extras function.
+# todo: support arguments to get info on a particular nick?
sub CmdrootWarn {
my $reply;
my $count = &countKeys("rootwarn");
}
# reply #1.
- $reply = "there ".&fixPlural("has",$count) ." been \002$i\002 ".
+ $reply = "there ".&fixPlural("has",$count) ." been \002$count\002 ".
&fixPlural("rooter",$count) ." warned about root.";
if ($param{'DBType'} !~ /^mysql$/i) {