From 8e6ce81c2b23aed7e17ad1592bd06c8cdd4e4472 Mon Sep 17 00:00:00 2001
From: timriker <timriker@c11ca15a-4712-0410-83d8-924469b57eb5>
Date: Sat, 15 Nov 2003 05:11:36 +0000
Subject: [PATCH] autojoin <nick> instead of +autojoin

git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk@895 c11ca15a-4712-0410-83d8-924469b57eb5
---
 blootbot/src/DynaConfig.pl |  2 +-
 blootbot/src/IRC/Irc.pl    | 16 +++++++++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/blootbot/src/DynaConfig.pl b/blootbot/src/DynaConfig.pl
index 4e37e97..46f1327 100644
--- a/blootbot/src/DynaConfig.pl
+++ b/blootbot/src/DynaConfig.pl
@@ -700,7 +700,7 @@ sub chanSet {
 	    return;
 	}
 	$chanconf{$chan}{_time_added}	= time();
-	$chanconf{$chan}{autojoin}	= 1;
+	$chanconf{$chan}{autojoin}	= $conn->nick();
 
 	&pSReply("Joining $chan...");
 	&joinchan($chan);
diff --git a/blootbot/src/IRC/Irc.pl b/blootbot/src/IRC/Irc.pl
index 66d5fb8..7bb7302 100644
--- a/blootbot/src/IRC/Irc.pl
+++ b/blootbot/src/IRC/Irc.pl
@@ -797,21 +797,27 @@ sub getJoinChans {
     foreach (keys %chanconf) {
 	next if ($_ eq "_default");
 
-	my $val = $chanconf{$_}{autojoin};
 	my $skip = 0;
+	my $val = $chanconf{$_}{autojoin};
 
 	if (defined $val) {
 	    $skip++ if ($val eq "0");
+	    if (($conn) and ($val eq "1")) {
+		# convert old +autojoin to autojoin <nick>
+		$val = $conn->nick();
+		$chanconf{$_}{autojoin} = $val;
+	    }
 	} else {
 	    $skip++;
 	}
 
 	if ($skip) {
 	    push(@skip, $_);
-	    next;
+	} elsif (($conn) and ($conn->nick() eq $val)) {
+	    push(@chans, $_);
+	} else {
+	    push(@skip, $_);
 	}
-
-	push(@chans, $_);
     }
 
     my $str;
@@ -823,7 +829,7 @@ sub getJoinChans {
 
     &status("Chans: ".$str) if ($show);
 
-    return @chans;
+    return sort @chans;
 }
 
 sub closeDCC {
-- 
2.39.5