This is a simple modification to the Hidden User ( +Dm ) Delay voice (Undernet) by Xpl0reR.
Today's flood bots sometimes stick around to get voiced by the original Dm script. My modification to this script will generate a random code, and request the user return said code to prove that they are human. To use this script, copy it into your remotes section, then right click in a channel and select Delay Voice > On.
Usage Note: This script can only be used in ONE channel at a time.
Security Note: This script is in its infancy, and can still be defeated by those who are determined to do so. This countermeasure is merely a bandaid fix to a larger problem. Also, the operator running this script runs the risk of getting flooded off. It is recommended that you run this script from a client that can hide behind RFC1918 (where possible).
Bug Note: Some users have reported being flooded by the script after idling in a channel without responding to the captcha . If you find any additional bugs or have a solution for this bug (or anything else with this script) please join #krystilynn on undernet, and tell me, or leave your comments here.
Credit Note: I do not take credit for the only script. All I did was merely implement the captcha system, which anyone could've done.
/*
Hidden User Delay Voice System
Made To work With +Dm channel Modes On Undernet
Originally Coded By Salman, on #mircscripting
Recoded, Tweaked, Adjusted By xplorer. on #mircscripting
Captcha added by QueenElsa
For Help /msg QueenElsa on Undernet or join #development
*/
on *:LOAD:{
echo -at You just loaded The delay voicer Script That works with +Dm channel modes on Undernet
echo -at This Script Will ONLY work on Undernet Since They have implemented +D
echo -at Simply Right Click in the channel And Click ''Delay Voice''
echo -at 4THIS SCRIPT WILL ONLY WORK IN ONE (1) CHANNEL
echo -at From: xplorer irc.undernet.org #mircscripting xplorer@live.ca
echo -at Captcha function added by QueenElsa (krystii.users.undernet.org) #development, #usa, #undernet
window -ke @DmCAPTCHA
echo -at [A message from QueenElsa] ** If you need help with this script, join #development.
}
on *:UNLOAD:{
echo -at What Have you Done ??
echo -at Fine Then!
echo -at :p try again later ;)
}
menu channel, {
$iif(undernet isin $network,Delay Voice)
..ON:/husers | mode $chan +Dm
..OFF:/husers | mode $chan -Dm
}
alias husers {
.names -d $chan
if ( $timer(hUsers) != $null ) {
.timerhUsers off | unset %huserchan
echo -at Delay Hidden voice Script is Off!
unset %dmchan
}
else { .timerhUsers 0 15 .names -d $chan | set %huserchan $chan
echo -at Delay Hidden voice Script is On! Make 4Sure That everyone is +v
set %dmchan $chan
}
}
raw 355:*: {
if ( $4 == $null ) { HALT }
else {
set %allnicks $4-
set %i 1
:next
set %nick $gettok(%allnicks,%i, 32)
if %nick == $null goto done
if $istok( %nrdone,%nick,32 ) { inc %i | goto next }
.set -u60 %nrdone %nrdone %nick
.enable #ghost
.whois %nick
.set -u300 %hucheck. [ $+ [ %nick ] ] $rand(A,Z) $+ $rand(1,10) $+ $rand(A,Z) $+ $rand(1,10) $+ $rand(1,10) $+ $rand(1,10) $+ $rand(A,Z) $+ $rand(A,Z) $+ $rand(1,10)
.msg %nick ATTENTION: You just tried to join %dmchan $+ . Since we're being attacked by bots, please type: %hucheck. [ $+ [ %nick ] ] to prove that you're a human. If you do, you will be permitted to join. If you mess up, nothing will happen.
inc %i
goto next
:done
}
halt
}
raw 366:*: halt
#ghost off
raw 301:*: halt
raw 310:*: halt
raw 311:*: { echo -at 4 $+ Scanning Hidden User: $address($2,5) | halt }
raw 312:*: halt
raw 313:*: halt
raw 330:*: halt
raw 319:*: halt
raw 317:*: halt
raw 318:*: { .timer 1 5 .disable #ghost | haltdef }
#ghost end
on *:text:*:?:{
if ($1 = %hucheck. [ $+ [ $nick ] ]) { mode %dmchan +v $nick | msg $nick Welcome to %dmchan $+ , $nick $+ . Sorry for the inconvienence you experienced! | aline @Information 3 $nick ( $+ $addresss($nick,5) has verified that they are human. | halt }
if ($1 != %hucheck. [ $+ [ $nick ] ]) { halt }
if (!$1) { halt }
}
nice comment