);
# array.
-use vars qw(@joinchan @ircServers @wingateBad @wingateNow @wingateCache
+use vars qw(@ircServers @wingateBad @wingateNow @wingateCache
);
### hash. MUST BE REDUCED IN SIZE!!!
-#
+#
use vars qw(%count %netsplit %netsplitservers %flood %dcc %orig
%nuh %talkWho %seen %floodwarn %param %dbh %ircPort
%topic %moduleAge %last %time %mask %file
- %forked %chanconf %channels
+ %forked %chanconf %channels %cache
);
# Signals.
$notsize = 0;
$notcount = 0;
###
+$bot_release = "1.3.3";
if ( -d "CVS" ) {
use POSIX qw(strftime);
- $bot_release = strftime("cvs (%Y%m%d)", gmtime( (stat("CVS"))[9] ) );
-} else {
- $bot_release = "1.0.10 (2001xxxx)";
+ $bot_release .= strftime(" cvs (%Y%m%d)", gmtime( (stat("CVS"))[9] ) );
}
$bot_version = "blootbot $bot_release -- $^O";
$noreply = "NOREPLY";
### misc commands.
###
+sub whatInterface {
+ if (!&IsParam("Interface") or $param{'Interface'} =~ /IRC/) {
+ return "IRC";
+ } else {
+ return "CLI";
+ }
+}
+
sub doExit {
my ($sig) = @_;
}
&writeUserFile();
&writeChanFile();
- &uptimeWriteFile() if (&IsChanConf("uptime"));
+ &uptimeWriteFile() if (&IsParam('Uptime'));
&sqlCloseDB();
&closeSHM($shm);
- &dumpallvars() if (&IsParam("dumpvarsAtExit"));
+
+ if (&IsParam("dumpvarsAtExit")) {
+ &loadMyModule('DumpVars');
+ &dumpallvars();
+ }
&symdumpAll() if (&IsParam("symdumpAtExit"));
&closeLog();
&closeSQLDebug() if (&IsParam("SQLDebug"));
return 0;
}
- # should we use IsParam() externally where needed or hack it in
- # here just in case? fix it later.
+ # these should get moved to your .chan file instead of the .config
+ # .config items overide any .chan entries
if (&IsParam($param)) {
- &DEBUG("ICC: found '$param' option in main config file.");
+ &WARN("ICC: found '$param' option in main config file.");
return 1;
}
return 0;
}
- # this looks evil...
+ # this looks evil...
if (0 and !defined $chan) {
&DEBUG("gCC: ok !chan... doing _default instead.");
}
$c ||= $chan;
$c ||= "_default";
- $c = "_default" if ($c eq "*"); # fix!
+ $c = "_default" if ($c eq "*"); # FIXME
my @c = grep /^\Q$c\E$/i, keys %chanconf;
if (@c) {
if (0 and $c[0] ne $c) {
&WARN("c ne chan ($c[0] ne $chan)");
}
+ if (!defined $chanconf{$c[0]}{$param} and ($c ne '_default')) {
+ return &getChanConf($param, '_default');
+ }
+ #&DEBUG("gCC: $param,$c \"" . $chanconf{$c[0]}{$param} . '"');
return $chanconf{$c[0]}{$param};
}
-# &DEBUG("gCC: returning _default... ");
+ #&DEBUG("gCC: returning _default... " . $chanconf{"_default"}{$param});
return $chanconf{"_default"}{$param};
}
sub getChanConfDefault {
my($what, $default, $chan) = @_;
-
$chan ||= "_default";
if (exists $param{$what}) {
&checkTables();
&status("Setup: ". &countKeys("factoids") ." factoids.");
- &getChanConfDefault("sendPrivateLimitLines", 3);
- &getChanConfDefault("sendPrivateLimitBytes", 1000);
- &getChanConfDefault("sendPublicLimitLines", 3);
- &getChanConfDefault("sendPublicLimitBytes", 1000);
- &getChanConfDefault("sendNoticeLimitLines", 3);
- &getChanConfDefault("sendNoticeLimitBytes", 1000);
+ &getChanConfDefault("sendPrivateLimitLines", 3, $chan);
+ &getChanConfDefault("sendPrivateLimitBytes", 1000, $chan);
+ &getChanConfDefault("sendPublicLimitLines", 3, $chan);
+ &getChanConfDefault("sendPublicLimitBytes", 1000, $chan);
+ &getChanConfDefault("sendNoticeLimitLines", 3, $chan);
+ &getChanConfDefault("sendNoticeLimitBytes", 1000, $chan);
$param{tempDir} =~ s#\~/#$ENV{HOME}/#;
sub startup {
if (&IsParam("DEBUG")) {
&status("enabling debug diagnostics.");
- ### I thought disabling this reduced memory usage by 1000 KiB.
+ # I thought disabling this reduced memory usage by 1000 KiB.
use diagnostics;
}
# reverse order of &setup().
&status("--- shutdown called.");
- $ident ||= "blootbot"; # hack.
+ # hack.
+ $ident ||= "blootbot";
if (!&isFileUpdated("$bot_state_dir/blootbot.users", $wtime_userfile)) {
&writeUserFile()
}
&sqlCloseDB();
- &closeSHM($shm); # aswell. TODO: use this in &doExit?
+ # aswell. TODO: use this in &doExit?
+ &closeSHM($shm);
&closeLog();
}