Commit Diff


commit - 1fa47b0a3fb52258ba2004152c826c448ed30774
commit + 4bac7b57a63792f593f308d20a1ffe050f41e45a
blob - 0d92083cf401c6a07eec9fad1084e4dfeff51f7f
blob + b5156896312b287db974aecd9bcbae60f58b6ea0
--- BNC.pm
+++ BNC.pm
@@ -123,7 +123,11 @@ sub mbnc {
 	} elsif (main::isstaff($bot, $nick) && $text =~ /^approve\s+([[:ascii:]]+)/) {
 		my $username = $1;
 		if (SQLite::selectrows("bnc", "username", $username)) {
-			main::putserv($bot, "PRIVMSG *blockuser :unblock $username");
+			my $email = SQLite::get("bnc", "username", $username, "email");
+			my $password = Hash::newpass();
+			main::putserv($bot,"privmsg *controlpanel :set Password $username $password");
+ 			main::putserv($bot, "PRIVMSG *blockuser :unblock $username");
+			mailbncApproved($username,$email,$password);
 			foreach my $chan (@teamchans) {
 			main::putserv($bot, "PRIVMSG $chan :$username bnc approved");
 			}
@@ -165,14 +169,16 @@ sub mbnc {
 		if (DNS::nextdns($username)) {
 			sleep(2);
 			createbnc($bot, $username, $pass, $bindhost);
-			main::putserv($bot, "PRIVMSG $nick :Check your email!");
-			mailbnc($username, $email, $pass, "bouncer", $hashirc);
 			if ($approval eq "true") {
 				main::putserv($bot, "PRIVMSG *blockuser :block $username");
-				main::putserv($bot, "PRIVMSG $nick :Your account has been created but must be manually approved by your admins ($staff) before it can be used.");
-				foreach my $chan (@teamchans) {
-					main::putservlocalnet($bot, "PRIVMSG $chan :$staff: $nick\'s account $username must be manually unblocked before it can be used.");
+				main::putserv($bot, "PRIVMSG $nick :Your account has been created but must be approved by your admins ($staff) before it can be used. Please reply to the email and contact staff over IRC.");
+				mailbncPending($username, $email);
+				foreach my $chan (@teamchans) {
+					main::putservlocalnet($bot, "PRIVMSG $chan :$staff: To approve $nick, you must type !bnc approve $username");
 				}
+			} else {
+				main::putserv($bot, "PRIVMSG $nick :Check your email! Please reply to the email and contact staff over IRC.");
+				mailbncApproved($username,$email,$pass);
 			}
 			foreach my $chan (@teamchans) {
 				main::putservlocalnet($bot, "PRIVMSG $chan :$staff: $nick\'s bnc registration of $username on $bot->{name} was successful, *but* you *must* help him connect. Most users are unable to connect. Show him https://wiki.ircnow.org/?n=Bouncer.Bouncer and give him connection instructions");
@@ -407,23 +413,11 @@ EOF
 	main::putserv($bot, "PRIVMSG *controlpanel :$msg");
 	return 1;
 }
-sub mailbnc {
-	my( $username, $email, $password, $service, $hashirc )=@_;
-	my $passhash = sha256_hex("$username");
-	my $approvemsg;
-	if ($approval eq "true") {
-		$approvemsg = <<"EOF";
+sub mailbncApproved {
+	my( $username, $email, $password)=@_;
+	my $body = <<"EOF";
+Welcome to $conf{localnet}!
 
-*IMPORTANT*: Your account has been created but it has not yet been
-approved. To get your account approved, please contact your admins
-$staff on IRC and by email.
-
-EOF
-	}
-
-my $body = <<"EOF";
-Welcome to IRCNow!
-
 You created a bouncer:
 
 Username: $username
@@ -432,19 +426,36 @@ Server: $bnchostname
 Port: $sslport for SSL (secure connection)
 Port: $plainport for plaintext
 Webpanel: $webpanel
-$approvemsg
-*IMPORTANT*: Verify your email address:
 
-Please reply to this email to indicate you have received the email. You must
-reply in order to keep your account.
+Connection Instructions: https://wiki.ircnow.org/?n=Bouncer.Bouncer
 
-IRCNow
+Enjoy!
+
+$conf{localnet}
+IRCNow Federation
 EOF
-	main::mail($mailfrom, $email, $mailname, "Verify IRCNow Account", $body);
+	main::mail($mailfrom, $email, $mailname, "Your $conf{localnet} Bouncer", $body);
 }
 
+sub mailbncPending {
+	my( $username, $email)=@_;
+	my $body = <<"EOF";
+Welcome to $conf{localnet}!
+
+Your bouncer needs to be approved by staff ($staff).
+Please reply to this email and contact them over IRC.
+
+Once $staff have been contacted, they will send you login
+instructions.  This may take up to 48 hours.
+
+$conf{localnet}
+IRCNow Federation
+EOF
+	main::mail($mailfrom, $email, $mailname, "Confirm $conf{localnet} Bouncer", $body);
+}
+ 
 sub mtaillog {
-	my ($bot, $nick, $host, $hand, @args) = @_;
+ 	my ($bot, $nick, $host, $hand, @args) = @_;
 	my ($chan, $text);
 	if (@args == 2) {
 		($chan, $text) = ($args[0], $args[1]);