[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Grys patch for captcha via email
[Thread Prev] | [Thread Next]
- Subject: [PATCH] Grys patch for captcha via email
- From: Ian Jones <ianj@xxxxxxxxxxxxx>
- Date: Thu, 15 Jun 2023 08:26:06 -0400
- To: codeforce@xxxxxxxxxx
- Cc: Ian Jones <ianj@xxxxxxxxxxxxx>
Please ignore previous patch, it included some local changes. This one has been applied to a clean clone of botnow repo. Regards, Ian --- BNC.pm | 58 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/BNC.pm b/BNC.pm index 0d92083..e096b90 100644 --- a/BNC.pm +++ b/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)) { + 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,8 +169,8 @@ 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); + main::putserv($bot, "PRIVMSG $nick :Wait, we will approve your bouncer account soon."); + mailbncPending($username, $email); 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."); @@ -226,10 +230,11 @@ sub mbnc { SQLite::set("bnc", "ircid", $ircid, "hashid", $hashid); main::whois($bot->{sock}, $nick); main::ctcp($bot->{sock}, $nick); - main::putserv($bot, "PRIVMSG $nick :".`figlet $captcha`); + mailbnc($username, $email, $captcha); + # main::putserv($bot, "PRIVMSG $nick :".`figlet $captcha`); #main::putserv($bot, "PRIVMSG $nick :https://$hostname/$hashid/captcha.png"); #main::putserv($bot, "PRIVMSG $nick :https://$hostname/register.php?hashirc=$hashid"); - main::putserv($bot, "PRIVMSG $nick :Type !bnc captcha <text>"); + main::putserv($bot, "PRIVMSG $nick :Check your email and Type !bnc captcha <text>"); foreach my $chan (@teamchans) { main::putservlocalnet($bot, "PRIVMSG $chan :$nick\'s on $bot->{name} bnc captcha is $captcha"); } @@ -408,23 +413,29 @@ EOF return 1; } sub mailbnc { - my( $username, $email, $password, $service, $hashirc )=@_; + my( $username, $email, $captcha )=@_; my $passhash = sha256_hex("$username"); my $approvemsg; - if ($approval eq "true") { - $approvemsg = <<"EOF"; -*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. +my $body = <<"EOF"; +Welcome to $bot->{name}! + +Please message this number on IRC: + +!bnc captcha $captcha +$bot->{name} EOF - } + main::mail($mailfrom, $email, $mailname, "Verify $bot->{name} Account $username", $body); +} + +sub mailbncApproved { + my( $username, $email, $password)=@_; my $body = <<"EOF"; -Welcome to IRCNow! +Welcome to $bot->{name}! -You created a bouncer: +We created a bouncer: Username: $username Password: $password @@ -432,15 +443,24 @@ 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. +$bot->{name} +EOF + main::mail($mailfrom, $email, $mailname, "Welcome to $bot->{name} Bouncer, $username", $body); +} + +sub mailbncPending { + my( $username, $email)=@_; + +my $body = <<"EOF"; +$bot->{name} bouncer $username account verified. Thank you. + +Please wait for account approval. It may take up to 48 hours. +Then we will send you login instructions. -IRCNow +$bot->{name} EOF - main::mail($mailfrom, $email, $mailname, "Verify IRCNow Account", $body); + main::mail($mailfrom, $email, $mailname, "$bot->{name} Bouncer $username account verified", $body); } sub mtaillog { -- 2.37.3
Re: [PATCH] Grys patch for captcha via email | jrmu <jrmu@xxxxxxxxxx> |