Dm Captcha (for Undernet)

By QueenElsa on May 18, 2016

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 }
}

Comments

Sign in to comment.
xplo   -  May 18, 2016

I am Xpl0reR, and i approve this message :)

Awesomely done QueenElsa. Keep mSL Alive yo! :)

@}---,---'---.-----

dma  -  Jul 06, 2016

nice comment

QueenElsa  -  Sep 11, 2016

Xplo is awesome like that.

Sign in to comment

Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.