BlueHell mIRC Script — File Browser

BlueHellmIRCScriptv1.0 / BlueHellmIRCScriptv1.0 / BlueHellScript / spambotskiller.mrc

spambotskiller.mrc — 3.34 KB — Download this file

dialog spamsettings {
  title "Spambot Killer -  by JeSTeR (Undernet)"
  size -1 -1 207 201
  option dbu
  box "Protected Channels", 1, 6 3 95 137
  list 2, 11 12 84 122, size sort
  box "All Channels", 3, 107 3 95 137
  list 4, 112 12 84 122, size sort
  button "Protect Selected Channel", 5, 107 144 95 12
  button "Unprotect Selected Channel", 6, 6 144 95 12
  box "Spambot Kick Message", 7, 6 159 196 21
  edit %anti.spam.kick.msg, 8, 9 166 189 10
  button "Apply Settings and Exit", 9, 55 183 95 12, ok
}

alias allchans {
  var %allchans = $null, %a = 1
  while (%a <= $chan(0)) {
    var %allchans = $addtok(%allchans,$chan(%a),44)
    inc %a 1
  }
  return %allchans
}

alias spamsettings {
  dialog -md spamsettings spamsettings
  didtok spamsettings 4 44 $allchans
  didtok spamsettings 2 44 %anti.spam.chans
}

on 1:dialog:spamsettings:sclick:5:{
  if ($did(spamsettings,4).seltext) {
    set %anti.spam.chans $addtok(%anti.spam.chans,$did(spamsettings,4).seltext,44)
    did -r spamsettings 2
    didtok spamsettings 2 44 %anti.spam.chans
  }
}

on 1:dialog:spamsettings:sclick:6:{
  if ($did(spamsettings,2).seltext) {
    set %anti.spam.chans $remtok(%anti.spam.chans,$did(spamsettings,2).seltext,44)
    did -r spamsettings 2
    didtok spamsettings 2 44 %anti.spam.chans
  }
}

on 1:dialog:spamsettings:sclick:9:{
  if (!$did(spamsettings,8)) {
    set %anti.spam.kick.msg Virus Spreading Spambot
  }
  else {
    set %anti.spam.kick.msg $did(spamsettings,8)
  }
}

alias setspamnicks {
  if (!%spamnicks) {
    set %spamnicks Aldora,Alysia,Amorita,Anita,April,Ara,Aretina,Barbra,Bella,Bettina,Blenda,Briana,Bridget,Caitlin,Camille,Cara,Carla,Carmen,Chelsea,Clarissa,Damita,Danielle,Daria,Diana,Donna,Dora,Doris,Ebony,Eden,Eliza,Emily,Erika,Erin,Eve,Evelyn,Faith,Gale,Gilda,Gloria,Haley,Helga,Holly,Ida,Idona,Iris,Isabel,Ivana,Ivory,Janet,Jewel,Joanna,Julie,Juliet
    set %spamnicks2 Kacey,Kali,Kara,Kassia,Katie,Katrina,Kyle,Lara,Laura,Linda,Lola,Lolita,Lynn,Maia,Mandi,Maria,Meggie,Melody,Milenia,Mimi,Myra,Nadia,Naomi,Natalie,Nicole,Nina,Nora,Nova,Olga,Olivia,Queen,Rae,Raquel,Rita,Rosa,Sharon,Silver,Tania,Tara,Ula,Uma,Valda,Valora,Vanessa,Vicky,Violet,Vivian,Wendy,Willa,Wilma,Xenia,Xylia,Zenia,Zilya,Zoe
  }
}

alias spamnickcheck {
  set %check $1
  set %regexcheck /^[A-Z][a-z]{1,9}\d{2}$/
  if ($regex(%check,%regexcheck)) {
    set %checknum $right(%check,2)
    set %checkname $left(%check,-2)
    if (%checknum isnum 10-40) {
      if ($istok(%spamnicks,%checkname,44)) || ($istok(%spamnicks2,%checkname,44)) {
        return 1
      }
      else {
        return 2
      }
    }
    else {
      return 0
    }
  }
}

on 1:join:%anti.spam.chans:{
  if (*.users.undernet.org iswm $fulladdress) { halt }
  if (!%spamnicks) {
    setspamnicks
  }
  inc -u10 %spamfloodpro 1
  if (%spamfloodpro > 5) halt
  set %spamcheck $spamnickcheck($nick)
  if (%spamcheck == 1) {
    set %spamnick $nick
    set %spamchan $chan
    .spambotkill
  }
}

alias spambotkill {
  if ((%spamchan) && (%spamnick)) {
    echo -s Spambot kickbanned from %spamchan - %spamnick
    inc %spambots 1
    if ($me isop %spamchan) {
      kick %spamchan %spamnick %anti.spam.kick.msg · $+ %spambots $+ ·
    }
    else {
      msg x kick %spamchan %spamnick %anti.spam.kick.msg · $+ %spambots $+ ·
    }
  }
}