]> git.donarmstrong.com Git - infobot.git/commitdiff
joinNextChan tries all connections
authortimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 28 Mar 2004 02:23:29 +0000 (02:23 +0000)
committertimriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 28 Mar 2004 02:23:29 +0000 (02:23 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@934 c11ca15a-4712-0410-83d8-924469b57eb5

src/IRC/Irc.pl

index 7931aaa6e5ddcb4335e629e4ba2de008b1da6c12..3f567542747486a8d33dfcea246c2b2fc84eb4df 100644 (file)
@@ -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.