My rooms sets mode (+mD)

Someone join myroom after 10 seconds will received a messages from MyBot in PM is:

ATTENTION: You just tried to join %dmchan $+ . Since we're being attacked by bots, please type: %hucheck. [ $+ [ %nick ] ] <== (captcha) to prove that you're a human. If you do, you will be permitted to join. If you mess up, nothing will happen.

When someone type exactly captcha in PM of MyBot, then get voiced in myroom and received this message from MyBot in PM:

Welcome to %dmchan $+ , $nick $+ . Sorry for the inconvienence you experienced!

But it NOT work, and have some errors are:

1. Someone receive message in PM but when they type exactly captcha in PM of MyBot and NOTHING happened.
2. I see this line after fews seconds repeats many time and never stop:  Scanning Hidden User: <nothing here>
3. Nickname received every 60 seconds this repeat line in PM:  ATTENTION: You just tried to join %dmchan $+ . Since we're being attacked by bots, please type: %hucheck. [ $+ [ %nick ] ] <== (captcha) to prove that you're a human. If you do, you will be permitted to join. If you mess up, nothing will happen. And they type exactly captcha but nothing happened.


Here is code:

Код:
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 }
}

Please fixed or rewrite that code and make it work. Thanks so much