X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fcore.pl;h=ccb526b74ddc78089bc7f5121bb5dd3b7ea8242b;hb=68433999fb592971e45553d7e6bce966c187e8e0;hp=9cdbb255c51c3bf0d5536ba0b3d501f9d8fcd632;hpb=9644d8e98ac63e8353835973e3a7274ba5a51c52;p=infobot.git diff --git a/src/core.pl b/src/core.pl index 9cdbb25..ccb526b 100644 --- a/src/core.pl +++ b/src/core.pl @@ -127,7 +127,7 @@ sub doExit { } &writeUserFile(); &writeChanFile(); - &uptimeWriteFile() if (&IsChanConf('Uptime')); + &uptimeWriteFile() if (&IsParam('Uptime')); &sqlCloseDB(); &closeSHM($shm); @@ -229,10 +229,10 @@ sub IsChanConf { 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; } @@ -326,16 +326,19 @@ sub getChanConf { 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}) { @@ -450,12 +453,12 @@ sub setup { &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}/#;