&closeDCC();
&closePID();
+ &closeStats();
&seenFlush();
&quit($param{'quitMsg'}) if (&whatInterface() =~ /IRC/);
&writeUserFile();
return 0;
}
+ $chan ||= "_default";
+
my $old = $chan;
if ($chan =~ tr/A-Z/a-z/) {
&WARN("IsChanConf: lowercased chan. ($old)");
# About: Retrieve value for 'param' value in current/default chan.
# Return: scalar for success, undef for failure.
sub getChanConf {
- my($param,$chan) = @_;
+ my($param,$c) = @_;
if (!defined $param) {
&WARN("param == NULL.");
return 0;
}
- $chan ||= "_default";
- my @c = grep /^$chan$/i, keys %chanconf;
+ # 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!
+ my @c = grep /^$c$/i, keys %chanconf;
if (@c) {
- if ($c[0] ne $chan) {
+ if (0 and $c[0] ne $c) {
&WARN("c ne chan ($c[0] ne $chan)");
}
return $chanconf{$c[0]}{$param};
}
+# &DEBUG("gCC: returning _default... ");
return $chanconf{"_default"}{$param};
}
+#####
+# Usage: &findChanConf($param);
+# About: Retrieve value for 'param' value from any chan.
+# Return: scalar for success, undef for failure.
+sub findChanConf {
+ my($param) = @_;
+
+ if (!defined $param) {
+ &WARN("param == NULL.");
+ return 0;
+ }
+
+ my $c;
+ foreach $c (keys %chanconf) {
+ foreach (keys %{ $chanconf{$c} }) {
+ next unless (/^$param$/);
+
+ &DEBUG("chanconf{$c}{$_} ...");
+ return $chanconf{$c}{$_};
+ }
+ }
+
+ return;
+}
+
sub showProc {
my ($prefix) = $_[0] || "";
sub shutdown {
# reverse order of &setup().
- &DEBUG("shutdown called.");
+ &status("--- shutdown called.");
$ident ||= "blootbot"; # hack.
### crappy bug in Net::IRC?
if (!$conn->connected and time - $msgtime > 900) {
- &status("reconnecting because of uncaught disconnect.");
+ &status("reconnecting because of uncaught disconnect \@ ".scalar(localtime) );
### $irc->start;
+ &clearIRCVars();
$conn->connect();
### return;
}