]> git.donarmstrong.com Git - infobot.git/blobdiff - src/core.pl
$date,$time,$day
[infobot.git] / src / core.pl
index eb0b7dec929e77ae5d071fbd8ee00d7d6322aed1..ccb526b74ddc78089bc7f5121bb5dd3b7ea8242b 100644 (file)
@@ -78,7 +78,7 @@ $nottime      = 0;
 $notsize       = 0;
 $notcount      = 0;
 ###
-$bot_release   = "1.3.2";
+$bot_release   = "1.3.3";
 if ( -d "CVS" ) {
     use POSIX qw(strftime);
     $bot_release       .= strftime(" cvs (%Y%m%d)", gmtime( (stat("CVS"))[9] ) );
@@ -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}/#;