$ucount_chanfile = 0;
$running = 0;
### more variables...
+# static scalar variables.
+$mask{ip} = '(\d+)\.(\d+)\.(\d+)\.(\d+)';
+$mask{host} = '[\d\w\_\-\/]+\.[\.\d\w\_\-\/]+';
+$mask{chan} = '[\#\&]\S*|_default';
+my $isnick1 = 'a-zA-Z\[\]\{\}\_\`\^\|\\\\';
+my $isnick2 = '0-9\-';
+$mask{nick} = "[$isnick1]{1}[$isnick1$isnick2]*";
+$mask{nuh} = '\S*!\S*\@\S*';
$msgtime = time();
$msgsize = 0;
$msgcount = 0;
### misc commands.
###
+sub whatInterface {
+ if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {
+ return "IRC";
+ } else {
+ return "CLI";
+ }
+}
+
sub doExit {
my ($sig) = @_;
&status("--- Start of quit.");
$ident ||= "blootbot"; # lame hack.
- &status("Memory Usage: $memusage kB");
+ &status("Memory Usage: $memusage KiB");
&closePID();
&closeStats();
$c ||= $chan;
$c ||= "_default";
$c = "_default" if ($c eq "*"); # fix!
- my @c = grep /^$c$/i, keys %chanconf;
+ my @c = grep /^\Q$c\E$/i, keys %chanconf;
if (@c) {
if (0 and $c[0] ne $c) {
if (exists $param{$what}) {
if (!exists $cache{config}{$what}) {
- &status("Config ($chan): backward-compatible option: found param{$what} ($param{$what}) instead");
+ &status("config ($chan): backward-compatible option: found param{$what} ($param{$what}) instead of chan option");
$cache{config}{$what} = 1;
}
return $val if (defined $val);
$param{$what} = $default;
- &status("Config ($chan): auto-setting param{$what} = $default");
+ &status("config ($chan): auto-setting param{$what} = $default");
$cache{config}{$what} = 1;
return $default;
}
if ($delta == 0) {
return;
} elsif ($delta > 500) {
- $str = "MEM:$prefix increased by $delta kB. (total: $memusage kB)";
+ $str = "MEM:$prefix increased by $delta KiB. (total: $memusage KiB)";
} elsif ($delta > 0) {
- $str = "MEM:$prefix increased by $delta kB";
+ $str = "MEM:$prefix increased by $delta KiB";
} else { # delta < 0.
$delta = -$delta;
# never knew RSS could decrease, probably Size can't?
- $str = "MEM:$prefix decreased by $delta kB.";
+ $str = "MEM:$prefix decreased by $delta KiB.";
}
&status($str);
$param{tempDir} =~ s#\~/#$ENV{HOME}/#;
- &status("Initial memory usage: $memusage kB");
+ &status("Initial memory usage: $memusage KiB");
&status("-------------------------------------------------------");
}
sub startup {
if (&IsParam("DEBUG")) {
&status("enabling debug diagnostics.");
- ### I thought disabling this reduced memory usage by 1000 kB.
+ ### I thought disabling this reduced memory usage by 1000 KiB.
use diagnostics;
}
$ident ||= "blootbot"; # hack.
- if ($sig eq "HUP") {
- &status("::: not writing user/chan file w/ SIGHUP");
- } else {
- &writeUserFile();
+ if (!&isFileUpdated("$bot_state_dir/blootbot.users", $wtime_userfile)) {
+ &writeUserFile()
+ }
+
+ if (!&isFileUpdated("$bot_state_dir/blootbot.chan", $wtime_chanfile)) {
&writeChanFile();
}