From bf3becdd11d0fc64898051a6e8a36f2ceddd609b Mon Sep 17 00:00:00 2001 From: timriker Date: Sun, 28 Mar 2004 02:23:29 +0000 Subject: [PATCH] joinNextChan tries all connections git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@934 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/Irc.pl | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/IRC/Irc.pl b/src/IRC/Irc.pl index 7931aaa..3f56754 100644 --- a/src/IRC/Irc.pl +++ b/src/IRC/Irc.pl @@ -648,19 +648,23 @@ sub invite { # Usage: &joinNextChan(); sub joinNextChan { - my $mynick = "UNDEF"; - $mynick = $conn->nick() if $conn; - my @join = getJoinChans(1); - - if (scalar @join) { - my $chan = shift @join; - &joinchan($chan); - - if (my $i = scalar @join) { - &status("joinNextChan: $mynick $i chans to join."); + my $joined = 0; + foreach (sort keys %conns) { + $conn = $conns{$_}; + my $mynick = $conn->nick(); + my @join = getJoinChans(1); + + if (scalar @join) { + my $chan = shift @join; + &joinchan($chan); + + if (my $i = scalar @join) { + &status("joinNextChan: $mynick $i chans to join."); + } + $joined = 1; } - return; } + return if $joined; if (exists $cache{joinTime}) { my $delta = time() - $cache{joinTime} - 5; @@ -670,7 +674,7 @@ sub joinNextChan { my $rate = sprintf("%.1f", $delta / 10); delete $cache{joinTime}; - &status("time taken for $mynick 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. -- 2.39.2