Jump to content
coders-irc_Bot

IRC Guard 5000 (V5)- Black List

Recommended Posts

  • Administrators

V5 - Better, faster, stronger.

About IRC Guard 5000: http://CodersElite.site90.net/PG5KHelp.htm

First:
Just copy snippet below. Open notepad and paste code into notepad, the SAVE FILE AS
criptnamehere.mrc into your mIRC directory.

Then:
In mIRC press ALT+R when the script editor pops up go to FILE select LOAD and select scriptnamehere.mrc and click okay, allow initialization commands to run.

Or:
Once the file is saved into the mIRC directory use: /load -rs scriptnamehere.mrc and allow the initialization commands to run.

IRC Guard 5000 (V5) is a blacklist made to repel pedophiles, creeps, trolls and other undesirable users on IRC. you must have channel operator (+o) status on a channel to use this script!

Please report all bugs here!

Looking for V4? Get the source code here: http://CodersElite.site90.net/PG5K.htm

 

;IRC Guard 5000 (V5)
;Better, Faster, Stronger.
;By Neo Nemesis
;Basically a black list designed to 
;repel IRC stalkers, creepers, pedos
;and other undesirables
;Special thanks to Jethro_, Bofh, Gemstone, Manit and gasak :D
;And thanks to the memebers of Hawkee forums!
;List Update check on start
on *:LOAD: {
  echo -a * IRC Guard 5000 (V5) is loading...
  ;set -u0 %crl.01 on,on,on,on,on,ban,2,You are not welcome here!
  ;checking for older versions
  if ($isfile(PG5K.ini) == $true) {
    if ($creep.file(01)) { 
      set -u0 %CRP_DUMP $input(Do you wish to save old entries from V4?,yi,IRC Guard 5000 $chr(40) $+ V5 $+ $chr(41))
      if (%CRP_DUMP == $true) {
        echo -a * Saving old entries and options...
        ;saving old entries. Most of them save 
        ;right over except for user white list. 
        ;$creep.file(05) is parsed.
        if ($creep.file(02)) { set -u0 %crl.ubl $creep.file(02) }
        if ($creep.file(03)) { set -u0 %crl.ibl $creep.file(03) }
        if ($creep.file(04)) { set -u0 %crl.cwl $creep.file(04) }
        if ($creep.file(05)) {
          set -u0 %num 1
          while (%num <= $numtok($creep.file(05),44)) {
            if ($chr(33) isin $gettok($creep.file(05),%num,44)) && ($chr(64) isin $gettok($creep.file(05),%num,44)) { set -u0 %crl.hwl $addtok(%crl.hwl,$gettok($creep.file(05),$num,44),44) }
            else { set -u0 %crl.uwl $addtok(%crl.uwl,$gettok($creep.file(05),$num,44),44) }
            inc %num
          }
          if ($creep.file(06)) { set -u0 %crl.nwl $creep.file(06) }
          ;if ($creep.file(kickmsg) != You are not welcome here!) { set -u0 %crl.opt on,on,on,on,on,ban,2, $+ $remove($creep.file(kickmsg),$chr(44)) }
          set -u0 %crl.opt on,on,on,on,on,ban,2,You are not welcome here!
          remini PG5K.ini PG5K    
        }      
      }
    }
  }
  if (%crl.opt) { writeini PG5K.ini PG5K 01 %crl.opt }
  elseif (!%crl.opt) { writeini PG5K.ini PG5K 01 on,on,on,on,on,ban,2,You are not welcome here! }
  if (%crl.ubl) { writeini PG5K.ini PG5K 02 %crl.ubl }
  if (%crl.ibl) { writeini PG5K.ini PG5K 03 %crl.ibl }
  if (%crl.cwl) { writeini PG5K.ini PG5K 06 %crl.cwl }
  if (%crl.uwl) { writeini PG5K.ini PG5K 07 %crl.uwl }
  if (%crl.hwl) { writeini PG5K.ini PG5K 08 %crl.hwl }
  echo -a * IRC Guard 5000 V5 has finished loading. Use /creep to access the main menu, you can also use /creep help for help, or you can select it from the popup menus throughout mIRC.
}
on *:START: { 
  if ($creep(enable) == on) { PG5K_Update GET }
}
alias creep {
  if (!$1) && (!$dialog(creep)) { dialog -m creep creep }
  if ($1 == enable) {
    if ($isid == $true) { return $gettok($creep.file(01),1,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,1,44) }
  }
  if ($1 == update) {
    if ($isid == $true) { return $gettok($creep.file(01),2,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,2,44) }
  }
  if ($1 == scan1) {
    if ($isid == $true) { return $gettok($creep.file(01),3,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,3,44) }
  }
  if ($1 == scan2) {
    if ($isid == $true) { return $gettok($creep.file(01),4,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,4,44) }
  }
  if ($1 == scan3) {
    if ($isid == $true) { return $gettok($creep.file(01),5,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,5,44) }
  }
  if ($1 == action) {
    if ($isid == $true) { return $gettok($creep.file(01),6,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,6,44) }
  }
  if ($1 == bantype) {
    if ($isid == $true) { return $gettok($creep.file(01),7,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,7,44) }
  }
  if ($1 == kickmsg) {
    if ($isid == $true) { return $gettok($creep.file(01),8,44) }
    else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2-,8,44) }
  }
  if ($1 == add) { writeini PG5K.ini PG5K $2 $addtok($creep.file($2),$3-,44) }
  if ($1 == del) {
    if ($creep.file($2) == $3-) { remini PG5K.ini PG5K $2 }
    else { writeini PG5K.ini PG5K $2 $remtok($creep.file($2),$3-,1,44) }
  }
  if ($1 == help) { run http://CodersElite.site90.net/PG5KHelp.htm }
  if ($1 == cmsg1) { return 4/!\ CREEP ALERT /!\ $gettok($creep.file(01),8,44) }
  if ($1 == cmsg2) { return 4/!\ CREEP ALERT /!\ You have been added to my black list creep! }
}
alias creep.file { return $readini(PG5K.ini,PG5K,$1) }
alias IsListed { return $istok($creep.file($1),$2,44) }
alias IsListed_WC {
  set -u0 %CRP_WC 1
  while (%CRP_WC <= $numtok($creep.file(05),44)) {
    if ($remove($gettok($creep.file(05),%CRP_WC,44),$chr(42)) isin $1) { return $true }
    inc %CRP_WC
  }
  return $false
}
alias C_LMngr {
  if ($1 == gui_bl) && (!$dialog(C_LMngr)) { dialog -mo C_LMngr C_LMngr }
  if ($1 == gui_wl) && (!$dialog(C_LMngr_)) { dialog -mo C_LMngr_ C_LMngr_ }
  ;/C_LMngr add -iuihwcUHnd <info>
  if ($1 == add) {
    if ($2 === -u) { %CLM_ = user name,02,07,0 | goto parse }
    if ($2 === -i) { %CLM_ = ident,03,00,0 | goto parse }
    if ($2 === -h) { %CLM_ = host mask,04,08,0 | goto parse }
    if ($2 === -w) { %CLM_ = wildcard,05,00,0 | goto parse }
    if ($2 === -c) { %CLM_ = channel,06,00,1 | goto parse }
    if ($2 === -U) { %CLM_ = user name,07,02,1 | goto parse }
    if ($2 === -H) { %CLM_ = host mask,08,04,1 | goto parse }
    if ($2 === -n) { %CLM_ = network,09,00,1 | goto parse }
    if ($2 === -d) { ;add to update list }
    else { goto end }
    :parse 
    %CLM_p = $gettok(%CLM_,1,44)
    %CLM_al = $gettok(%CLM_,2,44)
    %CLM_ol = $gettok(%CLM_,3,44)
    %CLM_c = $gettok(%CLM_,4,44)
    if ($IsListed(%CLM_al,$3-) == $true) { 
      if (%CLM_c == 0) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is already listed in the black list.,oh,IRC Guard 5000) | goto end }
      elseif (%CLM_c == 1) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is already listed in the white list.,oh IRC Guard 5000) | goto end }
    }
    if (%CLM_ol != 00) && ($IsListed(%CLM_ol,$3-) == $true) {
      if (%CLM_c == 0) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is white listed and cannot be added to the black list.,oh,IRC Guard 5000) | goto end }
      elseif (%CLM_c == 1) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is black listed and caoont be added to the white list.,oh,IRC Guard 5000) | goto end }
    }
    else {
      creep add %CLM_al $3-
      if ($dialog(creep)) { did -a creep $iif(%CLM_c = 0,2,30) $3- }
      else { 
        if (%CLM_c == 0) { echo -a  $+ $color(info) $+ * $3- added to the black list. }
        elseif (%CLM_c == 1) { echo -a  $+ $color(info) $+ * $3- added to the white list. }
      }
      if (%CLM_p == user name) {
        set -u0 %CRP_Sca 1
        while (%CRP_Sca <= $chan(0)) {
          if ($3 ison $chan(%CRP_Sca)) && ($me isop $chan(%CRP_Sca)) { CR_J $3 $chan(%CRP_Sca) }
          inc %CRP_Sca
        }
      }        
      goto end
    }
  }
  if ($1 == del) {
    %CLM_r = 2
    while (%CLM_r <= 9) {
      if ($IsListed(0 $+ %CLM_r,$2-) == $true) { creep del 0 $+ %CLM_r $2- }
      else { inc %CLM_r }
    }
  }
  if ($1 == clear) {
    if ($2 == bl) { 
      did -r creep 2
      set -u0 %CRP_bln 2
      while (%CRP_bln <= 5) {
        remini PG5K.ini PG5K 0 $+ %CRP_bln
        inc %CRP_bln
      }
    }
    elseif ($2 == wl) {
      did -r creep 30
      set -u0 %CRP_wln 6
      while (%CRP_wln <= 9) {
        remini PG5K.ini PG5K 0 $+ %CRP_wln
        inc %CRP_wln
      }
    }
  }
  if ($1 == load) {
    set -u0 %CLM_l 2
    while (%CLM_l <= 9) {
      if (%CLM_l <= 5) { %CLM_id = 2 }
      elseif (%CLM_l > 5) { %CLM_id = 30 }
      if ($creep.file(0 $+ %CLM_l)) { didtok creep %CLM_id 44 $creep.file(0 $+ %CLM_l) }
      inc %CLM_l
    }
    goto end
  }
  :end
  unset %CLM_*
}
alias CR_J {
  if ($IsListed(06,$2) == $true) || ($IsListed(07,$1) == $true) || ($IsListed(09,$network) == $true) { goto end }
  set -u0 %CR_Jwl 0
  while (%CR_Jwl <= 9) {
    if ($IsListed(08,$address($1,%CR_Jwl)) == $true) { goto end }
    inc %CR_Jwl
  }
  if ($creep(scan1) == on) {
    if ($IsListed(03,$gettok($gettok($address($1,5),2,33),1,64)) == $true) {
      if ($IsListed(02,$1) == $false) { creep add 02 $1 }
      goto User_Check
    }
    elseif ($IsListed(03,$gettok($gettok($address($1,5),2,33),1,64)) == $false) {
      if ($IsListed(02,$1) == $true) { creep add 03 $gettok($gettok($address($1,5),2,33),1,64) }
      goto User_Check
    }
  }
  :User_Check
  if ($IsListed(02,$1) == $true) { goto User_Run }
  if ($IsListed_WC($address($1,5)) == $true) { goto User_Run }
  set -u0 %CR_N 0
  while (%CR_N <= 9) {
    if ($IsListed(04,$address($1,%CR_N)) == $true) { goto User_Run }
    inc %CR_N
  }
  goto end
  :User_Run
  if ($creep(action) == ban) { CR_K $creep(bantype) $2 $1 }
  else { CR_K 11 $2 $1 }
  :end
}
alias CR_K {
  if ($1 <= 9) {
    mode $2 +b $address($3,$1)
    goto kick
  }
  if ($1 == 10) {
    mode $2 +b $3 $+ !*@*
    goto kick
  }
  if ($1 == 11) { goto kick }
  :kick
  .timerCRP $+ $rand(1,99999) -m 1 $rand(800,1600) kick $2 $3 $creep(cmsg1)
}
;Auto Update
alias PG5K_Update { 
  if ($1 == GET) {
    sockclose PG5K
    sockopen PG5K coderselite.site90.net 80
  }
  if ($1 == Run) {
    if ($IsListed(10,$2) == $true) { set -u0 %CRP_DUMP $input(You already have this list update.,oh,IRC Guard 5000) }
    else { 
    set -u0 %CRP_DUMP $input(Are you sure you want to acquire the ' $+ $2 $+ ' list update?,yw,IRC Guard 5000) }
    if (%CRP_DUMP == $true) {
      did -r PG5K_U 5
      did -a PG5K_U 5 UPDATING PLEASE WAIT
      ;UGH >.< Below Necessary for faster processing through large lists.
      if ($gettok($gettok(% [ $+ [ $2 ] ],3,164),2,61) != none) { AL_U 02 $gettok($gettok(% [ $+ [ $2 ] ],3,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],4,164),2,61) != none) { AL_U 03 $gettok($gettok(% [ $+ [ $2 ] ],4,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],5,164),2,61) != none) { AL_U 04 $gettok($gettok(% [ $+ [ $2 ] ],5,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],6,164),2,61) != none) { AL_U 05 $gettok($gettok(% [ $+ [ $2 ] ],6,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],7,164),2,61) != none) { AL_U 06 $gettok($gettok(% [ $+ [ $2 ] ],7,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],8,164),2,61) != none) { AL_U 07 $gettok($gettok(% [ $+ [ $2 ] ],8,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],9,164),2,61) != none) { AL_U 08 $gettok($gettok(% [ $+ [ $2 ] ],9,164),2,61) }
      if ($gettok($gettok(% [ $+ [ $2 ] ],10,164),2,61) != none) { AL_U 09 $gettok($gettok(% [ $+ [ $2 ] ],10,164),2,61) }
      creep add 10 $remove($gettok(% [ $+ [ $2 ] ],1,164) - $gettok(% [ $+ [ $2 ] ],2,164),$chr(44))
      did -r PG5K_U 5
      did -a PG5K_U 5 Update complete :)
      set -u0 %CRP_DUMP $input(List update ' $+ $2 $+ ' complete.,o,IRC Guard 5000)
      did -r PG5K_U 6
      didtok PG5K_U 6 44 $creep.file(10)
      did -r PG5K_U 5
      did -a PG5K_U 5 My updates
    }
  }
}
alias AL_U {
  set -u0 %AL_U 1
  while (%AL_U <= $numtok($2-,44)) {
    if ($IsListed($1,$gettok($2-,%AL_U,44)) == $true) { goto inc }
    else { 
      creep add $1 $gettok($2-,%AL_U,44)
      if ($dialog(creep)) {
        if ($remove($1,0) <= 5) { did -a creep 2 $gettok($2-,%AL_U,44) }
        elseif ($remove($1,0) >= 6) { did -a creep 30 $gettok($2-,%AL_U,44) }
      }
    }
    :inc
    inc %AL_U
  }
} 
on *:SOCKOPEN:PG5K: {
  sockwrite -n $sockname GET /PG5KProtocol_II.htm HTTP/1.1
  sockwrite -n $sockname Host: coderselite.site90.net
  sockwrite -n $sockname Connection: Close
  sockwrite -n $sockname Content-Type: text/html
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:PG5K: {
  sockread %PG5K_Ur
  if (%PG5K_Ur == <br>) { noop }
  if ($gettok(%PG5K_Ur,1,62) == PACKAGES) { %PG5K_UP = $gettok(%PG5K_Ur,2,62) }
  if (%PG5K_UP) && ($chr(164) isin %PG5K_Ur) {
    %PG5K_UT = $gettok(%PG5K_Ur,1,62)
    % [ $+ [ %PG5K_UT ] ] = $gettok(%PG5K_Ur,2,62)
  }
  if (%PG5K_Ur == CONTENT>END) { 
    sockclose PG5K
    if (!$dialog(PG5K_U)) { dialog -m PG5K_U PG5K_U }
    else {
      did -r PG5K_U 1,2,6
      did -a PG5K_U 1 There are $numtok(%PG5K_UP,44) updates
      didtok PG5K_U 2 44 %PG5K_UP
      if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
      did -z PG5K_U 6
    }
  }
}
;placement
alias PG5K_U {
  if ($1 == x) {
    if ($dialog(creep)) { return $calc($dialog(creep).x - 306) }
    else { return -1 }
  }
  if ($1 == y) {
    if ($dialog(creep)) { return $dialog(creep).y }
    else { return -1 }
  }
}
dialog PG5K_U {
  size $PG5K_U(x) $PG5K_U(y) 300 300
  title IRC Guard 5000 - List Updates
  box ""1, 5 5 290 130
  list 2, 10 20 280 100
  button "Get Update"3, 10 107 80 23
  button "Get Info"4, 95 107 80 23
  box "My Updates"5, 5 140 290 130
  list 6, 10 155 280 100,sort,hsbar
  button "Remove"7, 10 242 80 23
  button "Help"8, 95 242 80 23
  button "Close"9, 110 274 80 23,ok
}
on *:DIALOG:PG5K_U:init:*: {
  did -a PG5K_U 1 There are $numtok(%PG5K_UP,44) updates
  didtok PG5K_U 2 44 %PG5K_UP
  if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
  did -z PG5K_U 6
}
on *:DIALOG:PG5K_U:sclick:*: {
  if ($did == 3) { 
    if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select the list update package you would like to acquire.,oh,IRC Guard 5000) }
    else { PG5K_Update Run $did(2).seltext }
  }
  if ($did == 4) { 
    if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select the list update package you would like information about.,oh,IRC Guard 5000) }
    else { set -u0 %CRP_DUMP $input($gettok(% [ $+ [ $did(2).seltext ] ],2,164),oi,IRC Guard 5000 - $gettok(% [ $+ [ $did(2).seltext ] ],1,164)) }
  }
  if ($did == 7) {
    if (!$did(6).sel) { set -u0 %CRP_DUMP = $input(Please select the list update you would like to remove.,oh,IRC Guard 5000) }
    else { 
      set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(6).seltext $+ ' ?,yw,IRC Guard 5000)
      if (%CRP_DUMP == $true) {
        creep del 10 $did(6).seltext
        did -r PG5K_U 6
        if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
      }
    }
  }
  if ($did == 8) { creep help }
}
dialog C_LMngr {
  size -1 -1 300 100
  title IRC Guard 5000 - Add to Black List
  box "Entry to add"1, 5 5 290 45
  edit ""2, 10 20 280 23
  radio "User name"3, 24 55 70 15
  radio "Host mask"4, 95 55 70 15
  radio "Ident"5, 165 55 45 15
  radio "Wildcard"6, 212 55 60 15
  button "Add"7, 25 75 80 23
  button "Close"8, 110 75 80 23,cancel
  button "Help"9, 195 75 80 23
}
on *:DIALOG:C_LMngr:init:*: {
  %C_LM = -u
  did -c C_LMngr 3
}
on *:DIALOG:C_LMngr:sclick:*: {
  if ($did == 3) { %C_LM = -u }
  if ($did == 4) { %C_LM = -h }
  if ($did == 5) { %C_LM = -i }
  if ($did == 6) { %C_LM = -w }
  if ($did == 7) { 
    if (!$did(2).text) {
      set -u0 %CRP_DUMP $input(Please enter what you would like to enter into the black list and select the appropriate category.,oh,IRC Guard 5000) 
      goto end
    }
    else {
      if (%C_LM == -u) {
        if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid user name.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      elseif (%C_LM == -h) {
        if ($chr(33) !isin $did(2).text) || ($chr(64) !isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid host mask.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      elseif (%C_LM == -i) {
        if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid ident.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      elseif (%C_LM == -w) {
        if ($chr(42) !isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid wildcard.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      :add
      C_LMngr add %C_LM $did(C_LMngr,2).text 
      dialog -x C_LMngr
      unset %C_LM
    }
  }
  :end
}
on *:DIALOG:C_LMngr:close:*: { unset %C_LM }
dialog C_LMngr_ {
  size -1 -1 300 100
  title IRC Guard 5000 - Add to White List
  box "Entry to add"1, 5 5 290 45
  edit ""2, 10 20 280 23
  radio "Channel"3, 17 55 58 15
  radio "User name"4, 78 55 68 15
  radio "Host mask"5, 148 55 71 15
  radio "Network"6, 218 55 60 15
  button "Add"7, 25 75 80 23
  button "Close"8, 110 75 80 23,cancel
  button "Help"9, 195 75 80 23
}
on *:DIALOG:C_LMngr_:init:*: {
  %CLM = -c
  did -c C_LMngr_ 3
}
on *:DIALOG:C_LMngr_:sclick:*: {
  if ($did == 3) { %CLM = -c }
  if ($did == 4) { %CLM = -U }
  if ($did == 5) { %CLM = -H }
  if ($did == 6) { %CLM = -n }
  if ($did == 7) {
    if (!$did(2).text) {
      set -u0 %CRP_DUMP $input(Please enter what you would like to enter into the white list and select the appropriate category.,oh,IRC Guard 5000)
      goto end
    }
    else {
      if (%CLM == -c) {
        if ($chr(35) !isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid channel.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      if (%CLM == -U) {
        if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid user name.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      if (%CLM == -H) {
        if ($chr(33) !isin $did(2).text) || ($chr(64) !isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid host mask.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      if (%CLM == -n) {
        if ($chr(32) isin $did(2).text) {
          set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid network.,oh,IRC Guard 5000)
          goto end
        }
        else { goto add }
      }
      :add
      C_LMngr add %CLM $did(2).text
      dialog -x C_LMngr_
      unset %CLM
    }
  }
  :end
}
on *:DIALOG:C_LMngr_:close:*: { unset %CLM }
dialog creep {
  size -1 -1 300 311
  title IRC Guard 5000 [/creep]
  box "Black List"1, 5 5 290 275
  list 2, 10 20 280 240,sort
  button "Add"3, 25 251 80 23
  button "Remove"4, 110 251 80 23
  button "Clear"5, 195 251 80 23
  button "Help"6, 70 284 80 23
  button "Close"7, 155 284 80 23,ok
  check ":D"8, 270 289 25 18,push
  ;tabs
  tab "Options"9, 5 284 290 200
  tab "White List"10
  tab "About"11
  button "Help"12, 70 485 80 23
  button "Close"13, 155 485 80 23,cancel
  check ":D"14, 270 490 25 18,push
  ;tab 9 "Options"
  check "Enable black list"15, 10 310 93 15,tab9
  box "List Update"16, 10 325 145 45,tab9
  check "Enable"17, 15 343 50 15,tab9
  button "Check updates"18, 70 341 80 20,tab9
  box "User Scan5K"19, 10 370 145 65,tab9
  check "Scan user ident"20, 15 385 91 15,tab9
  check "Scan nick changes"21, 15 400 105 15,tab9
  check "Scan channel on join"22, 15 415 115 15,tab9
  box "Action"23, 160 310 130 50,tab9
  radio "Kick user"24, 165 325 60 15,tab9
  radio "Kick/ban user"25, 165 340 83 15,tab9
  box "Ban Type"26, 160 360 130 45,tab9
  combo 27, 165 375 120 150,drop,tab9
  box "Kick Message"28, 10 435 280 42,tab9
  edit ""29, 15 449 270 23,tab9
  ;tab 10 "white list"
  list 30, 10 315 280 145,sort,tab10
  button "Add"31, 25 445 80 23,tab10
  button "Remove"32, 110 445 80 23,tab10
  button "Clear"33, 195 445 80 23,tab10
  ;tab 11 "about"
  text "IRC Guard 5000"34, 98 345 80 15,tab11
  text "Version: 5.0.0 V5"35, 96 385 100 15,tab11
  text "By: Neo Nemesis"36, 98 400 80 15,tab11
  link "http://CodersElite.site90.net"37, 75 420 150 15,tab11
}
on *:DIALOG:creep:init:*: { 
  did -h creep 9
  C_LMngr load
  did -a creep 27 0: *!user@host
  did -a creep 27 1: *!*user@host
  did -a creep 27 2: *!*@host
  did -a creep 27 3: *!*user@*.host
  did -a creep 27 4: *!*@*.host
  did -a creep 27 5: nick!user@host
  did -a creep 27 6: nick!*user@host
  did -a creep 27 7: nick!*@host
  did -a creep 27 8: nick!*user@*.host
  did -a creep 27 9: nick!*@*.host
  did -a creep 27 10: nick!*@*
  if ($creep(enable) == on) { did -c creep 15 }
  if ($creep(update) == on) { 
    did -c creep 17 
    PG5K_Update GET
  }
  if ($creep(scan1) == on) { did -c creep 20 }
  if ($creep(scan2) == on) { did -c creep 21 }
  if ($creep(scan3) == on) { did -c creep 22 }
  if ($creep(action) == kick) { did -c creep 24 }
  elseif ($creep(action) == ban) { did -c creep 25 }
  did -c creep 27 $calc($creep(bantype) + 1)
  did -a creep 29 $creep(kickmsg)
}
on *:DIALOG:creep:sclick:*: {
  if ($did == 3) { C_LMngr gui_bl }
  if ($did == 4) { 
    if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select a entry from the black list you would like to remove.,oh,IRC Guard 5000) }
    else {
    set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(2).seltext $+ ' from the black list?,yw,IRC Guard 5000) }
    if (%CRP_DUMP == $true) {
      C_LMngr del $did(2).seltext 
      did -r creep 2,30
      C_LMngr load
    }
  }
  if ($did == 5) {
    set -u0 %CRP_DUMP $input(Are you sure you want to clear all entries from the black list?,yw,IRC Guard 5000)
    if (%CRP_DUMP == $true) { C_LMngr clear bl }  
  }
  if ($did == 6) { creep help }
  if ($did == 8) {
    dialog -s creep $dialog(creep).x $dialog(creep).y 300 510
    did -h creep 6,7,8
    did -v creep 9,12,13,14
    did -c creep 14
  }
  if ($did == 12) { creep help }
  if ($did == 14) {
    dialog -s creep $dialog(creep).x $dialog(creep).y 300 311
    did -h creep 9,12,13,14
    did -v creep 6,7,8
    did -u creep 8
  }
  if ($did == 15) { 
    if ($did(15).state == 1) { creep enable on }
    else { creep enable off }
  }
  if ($did == 17) {
    if ($did(17).state == 1) { creep update on }
    else { creep update off }
  }
  if ($did == 18) { PG5K_Update GET }
  if ($did == 20) {
    if ($did(20).state == 1) { creep scan1 on }
    else { creep scan1 off }
  }
  if ($did == 21) {
    if ($did(21).state == 1) { creep scan2 on }
    else { creep scan2 off }
  }
  if ($did == 22) {
    if ($did(22).state == 1) { creep scan3 on }
    else { creep scan3 off }
  }
  if ($did == 24) { creep action kick }
  if ($did == 25) { creep action ban }
  if ($did == 27) { creep bantype $calc($did(27).sel - 1) }
  if ($did == 31) { C_LMngr gui_wl }
  if ($did == 32) {
    if (!$did(30).sel) { set -u0 %CRP_DUMP $input(Please select the entry from the white list you wish to remove.,oh,IRC Guard 5000) }
    else {
      set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(30).seltext $+ ' from the white list?,yw,IRC Guard 5000)
      if (%CRP_DUMP == $true) { 
        C_LMngr del $did(30).seltext 
        did -r creep 2,30
        C_LMngr load
      }
    }
  }
  if ($did == 33) {
    set -u0 %CRP_DUMP $input(Are you sure you want to clear all entries from the white list?,yw,IRC Guard 5000)
    if (%CRP_DUMP == $true) { C_LMngr clear wl }
  }
  if ($did == 37) { run http://CodersElite.site90.net }
}
on *:DIALOG:creep:edit:29: { 
  if ($did(29).text) { creep kickmsg $did(29).text }
  else { creep kickmsg You are not welcome here! }
}
on *:DIALOG:creep:close:*: {
  if ($dialog(C_LMngr)) { dialog -x C_LMngr }
  if ($dialog(C_LMngr_)) { dialog -x C_LMngr }
  if ($dialog(PG5K_U)) { dialog -x PG5K_U }
}
;checking system
;check for black listed users when they join
on @*:JOIN:#: {
  if ($nick == $me) { goto end }
  if ($creep(enable)) { CR_J $nick $chan }
  :end
}
;check for black listed users in channel when you join (after being opped)
on *:OP:#: {
  if ($creep(scan3) == on) { 
    %CR_Sc = $true
    who $chan 
  }
}
;check for black listed users on nick change
on *:NICK: {
  if ($creep(scan2) == on) {
    set -u0 %CR_nc 1
    while (%CR_nc <= $chan(0)) {
      if ($me isop $chan(%CR_nc)) && ($newnick ison $chan(%CR_nc)) { CR_J $newnick $chan(%CR_nc) }
      inc %CR_nc
    }
  }
}
;scanning on join
raw 352:*: { 
  if (%CR_Sc == $true) { 
    CR_J $6 $2 
    halt
  }
}
raw 315:*: { 
  if (%CR_Sc == $true) { 
    unset %CR_Sc
    halt 
  }
}
;popup menus - thanks to Jethro_
menu query,nicklist,channel,status,menubar {
  $iif($menu == nicklist,IRC Guard 5000)
  .Main Menu:/creep
  .List Update Manager:/PG5K_Update GET
  .-
  .Add User
  ..Black List
  ...Nickname:/C_LMngr add -u $1
  ...Ident:C_LMngr add -i $gettok($gettok($address($1,5),2,33),1,64)
  ...Hostmask
  ....0 *!user@host:/C_LMngr add -h $address($1,0)
  ....1 *!*user@host:/C_LMngr add -h $address($1,1)
  ....2 *!*@host:/C_LMngr add -h $address($1,2)
  ....3 *!*user@*.host:/C_LMngr add -h $address($1,3)
  ....4 *!*@*.host:/C_LMngr add -h $address($1,4)
  ....5 nick!user@host:/C_LMngr add -h $address($1,5)
  ....6 nick!*user@host:/C_LMngr add -h $address($1,6)
  ....7 nick!*@host:/C_LMngr add -h $address($1,7)
  ....8 nick!*user@*.host:/C_LMngr add -h $address($1,8)
  ....9 nick!*@*.host:/C_LMngr add -h $address($1,9)
  ..White List
  ...Nickname:/C_Mngr add -U $1
  ...Hostmask
  ....0 *!user@host:/C_LMngr add -H $address($1,0)
  ....1 *!*user@host:/C_LMngr add -H $address($1,1)
  ....2 *!*@host:/C_LMngr add -H $address($1,2)
  ....3 *!*user@*.host:/C_LMngr add -H $address($1,3)
  ....4 *!*@*.host:/C_LMngr add -H $address($1,4)
  ....5 nick!user@host:/C_LMngr add -H $address($1,5)
  ....6 nick!*user@host:/C_LMngr add -H $address($1,6)
  ....7 nick!*@host:/C_LMngr add -H $address($1,7)
  ....8 nick!*user@*.host:/C_LMngr add -H $address($1,8)
  ....9 nick!*@*.host:/C_LMngr add -H $address($1,9)
  $iif($menu == query,IRC Guard 5000)
  .Main Menu:/creep
  .List Update Manager:/PG5K_Update GET
  .-
  .Add User
  ..Black List
  ...Nickname:/C_LMngr add -u $1
  ...Ident:C_LMngr add -i $gettok($gettok($address($1,5),2,33),1,64)
  ...Hostmask
  ....0 *!user@host:/C_LMngr add -h $address($1,0)
  ....1 *!*user@host:/C_LMngr add -h $address($1,1)
  ....2 *!*@host:/C_LMngr add -h $address($1,2)
  ....3 *!*user@*.host:/C_LMngr add -h $address($1,3)
  ....4 *!*@*.host:/C_LMngr add -h $address($1,4)
  ....5 nick!user@host:/C_LMngr add -h $address($1,5)
  ....6 nick!*user@host:/C_LMngr add -h $address($1,6)
  ....7 nick!*@host:/C_LMngr add -h $address($1,7)
  ....8 nick!*user@*.host:/C_LMngr add -h $address($1,8)
  ....9 nick!*@*.host:/C_LMngr add -h $address($1,9)
  ..White List
  ...Nickname:/C_Mngr add -U $1
  ...Hostmask
  ....0 *!user@host:/C_LMngr add -H $address($1,0)
  ....1 *!*user@host:/C_LMngr add -H $address($1,1)
  ....2 *!*@host:/C_LMngr add -H $address($1,2)
  ....3 *!*user@*.host:/C_LMngr add -H $address($1,3)
  ....4 *!*@*.host:/C_LMngr add -H $address($1,4)
  ....5 nick!user@host:/C_LMngr add -H $address($1,5)
  ....6 nick!*user@host:/C_LMngr add -H $address($1,6)
  ....7 nick!*@host:/C_LMngr add -H $address($1,7)
  ....8 nick!*user@*.host:/C_LMngr add -H $address($1,8)
  ....9 nick!*@*.host:/C_LMngr add -H $address($1,9)
  $iif($menu == channel,IRC Guard 5000)
  .Main Menu:/creep
  .List Update Manager:/PG5K_Update GET
  .Whitelist Channel
  ..Add:/C_LMngr add -c $chan
  ..Remove:/C_LMngr del $chan
  $iif($menu == status,IRC Guard 5000)
  .Main Menu:/creep
  .List Update Manager:/PG5K_Update GET
  .-
  .Whitelist Network ( $+ $network $+ )
  ..Add:/C_LMngr add -n $network
  ..Remove:/C_LMngr del $network
  .Whitelist Server ( $+ $server $+ )
  ..Add:/C_LMngr add -n $server
  ..Remove:/C_LMngr del $server
  $iif($menu == menubar,IRC Guard 5000)
  .Main Menu:/creep
  .List Update Manager:/PG5K_Update GET
  .-
  .Whitelist Network ( $+ $network $+ )
  ..Add:/C_LMngr add -n $network
  ..Remove:/C_LMngr del $network
  .Whitelist Server ( $+ $server $+ )
  ..Add:/C_LMngr add -n $server
  ..Remove:/C_LMngr del $server

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...