X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FIRC%2FIrc.pl;h=49d0438ef576933c861ad69d40632a6ff4f812d5;hb=130fc9d79663d571b32c8a625e3487e7b42c10da;hp=46bb68a3ce023fa28adca6829f1f29500fc0702b;hpb=34a4d11667b0a734343f82d2adbaac23f738ad18;p=infobot.git diff --git a/src/IRC/Irc.pl b/src/IRC/Irc.pl index 46bb68a..49d0438 100644 --- a/src/IRC/Irc.pl +++ b/src/IRC/Irc.pl @@ -102,7 +102,7 @@ sub irc { $conn = $irc->newconn(%args); if (!defined $conn) { - &ERROR("irc: conn was not created!defined!!!"); + &ERROR("internal: perl IRC connection object does not exist."); return 1; } @@ -158,6 +158,7 @@ sub irc { $conn->add_global_handler(473, \&on_inviteonly); $conn->add_global_handler(474, \&on_banned); $conn->add_global_handler(475, \&on_badchankey); + $conn->add_global_handler(443, \&on_useronchan); # end of handler stuff. @@ -654,7 +655,7 @@ sub joinNextChan { my $rate = sprintf("%.1f", $delta / @c); delete $cache{joinTime}; - &DEBUG("time taken to join all chans: $timestr; rate: $rate sec/join"); + &status("time taken to join all chans: $timestr; rate: $rate sec/join"); } # chanserv check: global channels, in case we missed one. @@ -717,14 +718,20 @@ sub IsNickInAnyChan { # Usage: &validChan($chan); sub validChan { + # todo: use $c instead? my ($chan) = @_; + if (!defined $chan or $chan =~ /^\s*$/) { + return 0; + } + if (lc $chan ne $chan) { &WARN("validChan: lc chan != chan. ($chan); fixing."); $chan =~ tr/A-Z/a-z/; } - if (exists $channels{$chan}) { + # it's possible that this check creates the hash if empty. + if (defined $channels{$chan} or exists $channels{$chan}) { if ($chan eq "_default") { # &WARN("validC: chan cannot be _default! returning 0!"); return 0;