$notsize = 0;
$notcount = 0;
###
-$bot_release = "1.3.1";
+$bot_release = "1.3.3";
if ( -d "CVS" ) {
use POSIX qw(strftime);
$bot_release .= strftime(" cvs (%Y%m%d)", gmtime( (stat("CVS"))[9] ) );
}
&writeUserFile();
&writeChanFile();
- &uptimeWriteFile() if (&IsChanConf("uptime"));
+ &uptimeWriteFile() if (&IsParam('Uptime'));
&sqlCloseDB();
&closeSHM($shm);
foreach (keys %chanconf) {
my $chan = $_;
-# &DEBUG("chan => $chan");
my @array = grep /^$param$/, keys %{ $chanconf{$chan} };
+ #&DEBUG("gCCL param => $param, chan => $chan, keys => " . join(':',keys %{ $chanconf{$chan} }) . " array => " . join(':', @array)) if ($param eq 'whatever');
next unless (scalar @array);
&WARN("multiple items found?");
}
- if ($array[0] eq "0") {
+ if ($chanconf{$chan}{$param} eq "0") {
$chan{$chan} = -1;
} else {
$chan{$chan} = 1;
# Return: 1 for enabled, 0 for passive disable, -1 for active disable.
sub IsChanConf {
my($param) = shift;
- my $debug = 0; # knocked tons of bugs with this! :)
+
+ # knocked tons of bugs with this! :)
+ my $debug = 0; # 1 if ($param eq "whatever");
if (!defined $param) {
&WARN("IsChanConf: param == NULL.");
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;
}
- $chan ||= "_default";
+ $chan ||= "_default";
my $old = $chan;
if ($chan =~ tr/A-Z/a-z/) {
}
### debug purposes only.
-# &DEBUG("param => $param, msgType => $msgType.");
-# foreach (keys %chan) {
-# &DEBUG(" $_ => $chan{$_}");
+# if ($debug) {
+# &DEBUG("param => $param, msgType => $msgType.");
+# foreach (keys %chan) {
+# &DEBUG(" $_ => $chan{$_}");
+# }
# }
if ($nomatch) {
} else {
&DEBUG("ICC: other: 0 ($param)") if ($debug);
}
-
return $chan{$chan} || $chan{_default} || 0;
- }
-
- if ($msgType eq "public") {
+ } elsif ($msgType =~ /^(public|private)$/i) {
if ($chan{$chan}) {
- &DEBUG("ICC: public: $chan{$chan} ($chan/$param)") if ($debug);
+ &DEBUG("ICC: $msgType: $chan{$chan} ($chan/$param)") if ($debug);
} elsif ($chan{_default}) {
- &DEBUG("ICC: public: $chan{_default} (_default/$param)") if ($debug);
- } else {
- &DEBUG("ICC: public: 0 ($param)") if ($debug);
- }
-
- return $chan{$chan} || $chan{_default} || 0;
- }
-
- if ($msgType eq "private") {
- if ($chan{_default}) {
- &DEBUG("ICC: private: $chan{_default} (_default/$param)") if ($debug);
- } elsif ($chan{$chan}) {
- &DEBUG("ICC: private: $chan{$chan} ($chan/$param) (hack)") if ($debug);
+ &DEBUG("ICC: $msgType: $chan{_default} (_default/$param)") if ($debug);
} else {
- &DEBUG("ICC: private: 0 ($param)") if ($debug);
+ &DEBUG("ICC: $msgType: 0 ($param)") if ($debug);
}
-
return $chan{$chan} || $chan{_default} || 0;
}
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}/#;