Protections

By Cados on Mar 28, 2010

This is a script for protection against different floods in messages. You can choose what your actions again the flood will be and you can specify what channels and/or nicks you want to protect. The script will always protect you from bans and kicks as long as you turn the channel protection on. If you need more info read the "About" tab. I know it's very long so comments on making it shorter are open.

dialog Protections {
  title "Protections"
  size  300 150 400 300 
  option pixels
  tab "Ban", 1, 1 1 400 300
  tab "Kick", 2
  tab "Ctcp", 3
  tab "Notice", 4
  check "Channel", 5, 10 40 60 20, tab 1
  edit "#channel", 6, 70 40 150 20, disable, tab 1
  button "Add", 7, 80 63 45 20, disable, tab 1  
  button "Del", 8, 125 63 45 20, disable, tab 1
  button "Clear", 131, 170 63 45 20, disable,  tab 1
  list 9, 70 85 150 70, disable, tab 1
  check "Nicks", 10, 10 150 60 20, tab 1
  edit "Nick", 11, 70 150 150 20, disable, tab 1
  button "Add", 148, 80 173 45 20,disable,  tab 1
  button "Del", 149, 125 173 45 20,disable,  tab 1
  button "Clear", 150,  170 173 45 20,disable,  tab 1
  list 14, 70 195 150 70, disable, tab 1
  box "Actions", 15, 260 30 140 240, tab 1
  text "Channel", 16, 270 45 50 20, tab 1
  check "Kick user", 17, 265 60 80 20,disable,  tab 1
  check "Ban user", 18, 265 80 80 20,disable,  tab 1
  check "Unban user", 19, 265 100 80 20, disable,  tab 1
  check "Notice user", 20, 265 120 80 20, disable, tab 1
  text "Nick", 21, 270 150 50 20, tab 1
  check "Kick user", 22, 265 170 80 20, disable, tab 1
  check "Ban user", 23, 265 190 80 20, disable, tab 1
  check "Unban user", 24, 265 210 80 20, disable, tab 1
  check "Notice user", 25, 265 230 80 20, disable, tab 1
  button "Apply", 26, 15 270 60 20
  button "Ok", 27, 105 270 60 20
  button "Close", 28, 195 270 60 20
  check "Channel", 29, 10 40 60 20, tab 2
  edit "#channel", 30, 70 40 150 20, disable, tab 2
  button "Add", 135, 80 63 45 20, disable, tab 2 
  button "Del", 136, 125 63 45 20, disable, tab 2
  button "Clear", 137, 170 63 45 20, disable, tab 2
  list 33, 70 85 150 70, disable, tab 2
  check "Nicks", 34, 10 150 60 20, tab 2
  edit "Nick", 35, 70 150 150 20, disable, tab 2
  button "Add", 36, 80 173 45 20, disable, tab 2
  button "Del", 37, 125 173 45 20,disable,  tab 2
  button "Clear", 147,  170 173 45 20, disable, tab 2
  list 38, 70 195 150 70, disable, tab 2
  box "Actions", 39, 260 30 140 240, tab 2
  text "Channel", 40, 270 45 50 20, tab 2
  check "Kick user", 41, 265 60 80 20, disable, tab 2
  check "Ban user", 42, 265 80 80 20, disable, tab 2
  check "Notice user", 44, 265 100 80 20, disable, tab 2
  text "Nick", 45, 270 150 50 20, tab 2
  check "Kick user", 46, 265 170 80 20, disable, tab 2
  check "Ban user", 47, 265 190 80 20, disable, tab 2
  check "Notice user", 49, 265 210 80 20, disable, tab 2
  check "Versions", 50, 10 40 60 20, tab 3
  edit "Version reply", 51,  70 40 150 20,  disable, tab 3
  button "Add", 138, 80 63 45 20,  disable, tab 3 
  button "Del", 139, 125 63 45 20,  disable, tab 3
  button "Clear", 140, 170 63 45 20,  disable, tab 3
  list 54, 70 85 150 90,  disable, tab 3
  check "Ping", 55, 10 170 60 20, tab 3
  check "Time", 56, 10 190 60 20, tab 3
  check "Other", 57, 10 210 60 20, tab 3
  box "Actions", 59, 260 30 140 235, tab 3
  text "Version reply", 60, 270 45 70 20, nowrap, tab 3
  radio "Selected", 61, 265 65 60 20,  disable, tab 3
  radio "Random", 62, 265 85 60 20,  disable, tab 3
  radio "No reply", 63, 265 105 60 20,  disable, tab 3
  text "Flood", 64, 270 135 70 20, nowrap, tab 3
  check "Ignore user", 65, 265 155 73 20,  disable, tab 3
  check "Notice user", 66, 265 175 70 20,  disable, tab 3
  check "Ctcp user", 67, 265 195 70 20,  disable, tab 3
  check "Whois user", 68, 265 215 70 20,  disable, tab 3
  check "Message user", 69, 265 235 100 20,  disable, tab 3
  box "Flood", 70, 80 170 150 95, tab 3
  text "Consider flood after:", 71, 90 185 100 20, tab 3
  radio "5 Ctcps in 5 minutes", 72, 85 200 120 20,  disable, tab 3
  radio "10 Ctcps in 5 minutes", 73, 85 220 120 20,  disable, tab 3
  radio "15 Ctcps in 5 minutes", 74, 85 240 120 20,  disable, tab 3
  box "Flood", 75, 80 170 150 95, tab 4
  text "Consider flood after:", 76, 90 185 100 20, tab 4
  radio "5 Notices in 5 minutes", 77, 85 200 120 20,  disable, tab 4
  radio "10 Notices in 5 minutes", 78, 85 220 120 20,  disable, tab 4
  radio "15 Notices in 5 minutes", 79, 85 240 120 20,  disable, tab 4
  check "Notice", 80, 10 40 60 20,  tab 4
  edit "Notice reply", 81,  70 40 150 20,  disable, tab 4
  button "Add", 141, 80 63 45 20, disable,  tab 4 
  button "Del", 142, 125 63 45 20,  disable, tab 4
  button "Clear", 143, 170 63 45 20,  disable, tab 4
  list 84, 70 85 150 90,  disable, tab 4
  box "Actions", 91, 260 30 140 235, tab 4
  text "Notice reply", 92, 270 45 70 20, nowrap, tab 4
  radio "Selected", 93, 265 65 60 20,  disable, tab 4
  radio "Random", 94, 265 85 60 20,  disable, tab 4
  radio "No reply", 95, 265 105 60 20,  disable, tab 4
  text "Flood", 96, 270 135 70 20, nowrap, tab 4
  check "Ignore user", 97, 265 155 73 20,  disable, tab 4
  check "Notice user", 98, 265 175 70 20,  disable, tab 4
  check "Ctcp user", 99, 265 195 70 20, disable,  tab 4
  check "Whois user", 100, 265 215 70 20,  disable, tab 4
  check "Message user", 110, 265 235 120 20,  disable, tab 4
  tab "About", 102
  box "Commands", 103, 10 25 385 200, tab 102
  text "-This script is for protection against flood in certain messages and actions.", 104, 15 40 350 20, nowrap, tab 102
  text "-Check a box and the script will act towards that action only.", 105, 15 60 350 20, nowrap, tab 102
  text "-You can also create your own auto-responses by inputing them into the box and clicking Add.", 106, 15 80 300 40, tab 102
  text "-To delete a response, type it into the editbox and click Del to delete it.", 111, 15 110 350 20, tab 102
  text "--------------------------------------------------------------------------------------", 107, 15 130 350 20, nowrap, center, tab 102
  text "-Created by Aries on March 27th, 2010.", 108, 15 150 350 20, nowrap, tab 102
  text "-Homepage: http://wolverines.ning.com/", 109, 15 170 350 20, nowrap, tab 102
}
on 1:dialog:Protections:init:0:{
  set %y 1
  while ($read(cbpro.txt,%y)) {
    did -a Protections 9 $read(cbpro.txt,%y)
    inc %y
  }
  set %x 1
  while ($read(nbpro.txt,%x)) {
    did -a Protections 14 $read(cbpro.txt,%x)
    inc %x
  }
  set %w 1
  while ($read(ckpro.txt,%w)) {
    did -a Protections 33 $read(ckpro.txt,%w)
    inc %w
  }
  set %z 1
  while ($read(nkpro.txt,%z)) {
    did -a Protections 38 $read(nkpro.txt,%z)
    inc %z
  }
  set %v 1
  while ($read(vreply.txt,%v)) {
    did -a Protections 54 $read(vreply.txt,%v)
    inc %v
  }
  set %u 1
  while ($read(notices.txt,%u)) {
    did -a Protections 84 $read(notices.txt,%u)
    inc %u
  }
  if (%cbpro == on) { /did -c Protections 5 | /did -e Protections 6,7,8,9,131,17,18,19,20 }
  if (%nbpro == on) { /did -c Protections 10 | /did -e Protections 11,148,149,150,14,22,23,24,25 }
  if (%ckpro == on) { /did -c Protections 29 | /did -e Protections 30,135,136,137,33,41,42,44 }
  if (%nkpro == on) { /did -c Protections  34 | /did -e Protections 35,36,37,147,38,46,47,49 }
  if (%vpro == on) { /did -c Protections 50 | /did -e Protections 138,139,140,51,54,61,62,63,65,66,67,68,69,72,73,74 }
  if (%ppro == on) { /did -c Protections 55 | /did -e Protections 65,66,67,68,69,72,73,74 }
  if (%tpro == on) { /did -c Protections 56 | /did -e Protections 65,66,67,68,69,72,73,74 }
  if (%opro == on) { /did -c Protections 57 | /did -e Protections 65,66,67,68,69,72,73,74 }  
  if (%cbkick == on) { /did -c Protections 17 }
  if (%cbban == on) { /did -c Protections 18 }
  if (%cbunban == on) { /did -c Protections 19 }
  if (%cbnotice == on) { /did -c Protections 20 }
  if (%nbkick == on) { /did -c Protections 22 }
  if (%nbban == on) { /did -c Protections 23 }
  if (%nbunban == on) { /did -c Protections 24 }
  if (%nbnotice == on) { /did -c Protections 25 }
  if (%ckkick == on) { /did -c Protections 41 }
  if (%ckban == on) { /did -c Protections 42 }
  if (%cknotice == on) { /did -c Protections 44 }
  if (%nkkick == on) { /did -c Protections 45 }
  if (%nkban == on) { /did -c Protections 46 }
  if (%nknotice == on) { /did -c Protections 47 }
  if (%vpro == on) { /did -c Protections 50 }
  if (%ppro == on) { /did -c Protections 55 }
  if (%tpro == on) { /did -c Protections 56 }
  if (%opro == on) { /did -c Protections 57 }
  if (%ctselected == on) { /did -c Protections 61 }
  if (%ctrandom == on) { /did -c Protections 62 }
  if (%ctnoreply == on) { /did -c Protections 63 }
  if (%ctignore == on) { /did -c Protections 65 }
  if (%ctnotice == on) { /did -c Protections 66 }
  if (%ctuser == on) { /did -c Protections 67 }
  if (%ctwhois == on) { /did -c Protections 68 }
  if (%ctmsg == on) { /did -c Protections 69 }
  if (%ctflood5 == on) { /did -c Protections 72 }
  if (%ctflood10 == on) { /did -c Protections 73 }
  if (%ctflood15 == on) { /did -c Protections 74 }    
  if (%npro == on) { /did -c Protections 80 | /did -e Protections 81,141,142,143,84,93,94,95,97,98,99,100,110,77,78,79 }
  set %s 1
  while ($read(notices.txt,%s)) {
    did -a Protections 84 $read(nkpro.txt,%s)
    inc %s
  }
  if (%nselected == on) { /did -c Protections 93 }
  if (%nrandom == on) { /did -c Protections 94 }
  if (%nnoreply == on) { /did -c Protections 95 }
  if (%nignore == on) { /did -c Protections 97 }
  if (%nnotice == on) { /did -c Protections 98 }
  if (%nctcp == on) { /did -c Protections 99 }
  if (%nwhois == on) { /did -c Protections 100 }
  if (%nmsg == on) { /did -c Protections 110 }
  if (%nflood5 == on) { /did -c Protections 77 }
  if (%nflood10 == on) { /did -c Protections 78 }
  if (%nflood15 == on) { /did -c Protections 79 }
}    
on 1:dialog:Protections:sclick:*:{
  if ($did == 5) {
    if (%cbpro == off) { set %cbpro on | /did -e Protections 6,7,8,9,131,17,18,19,20 | /halt }
    if (%cbpro == on) { set %cbpro off | /did -b Protections 6,7,8,9,131,17,18,19,20 | /halt }
  }
  if ($did == 7) {
    inc %did6 1
    .write cbpro.txt $did(6)
    did -a Protections 9 $did(6)
    set %did6line %did6
  }
  if ($did == 8) {
    .write -d cbpro.txt $did(6)
    did -d Protections 9 %did6
    unset %did6line
    dec %did6
  }
  if ($did == 131) {
    .write -c cbpro.txt
    did -r Protections 9
    unset %did6line
    unset %did6
  }
  if ($did == 10) {
    if (%nbpro == off) { set %nbpro on | /did -e Protections 11,148,149,150,14,22,23,24,25 | /halt }
    if (%nbpro == on) { set %nbpro off | /did -b Protections 11,148,149,150,14,22,23,24,25 | /halt }
  }
  if ($did == 148) {
    inc %did11 1
    .write nbpro.txt $did(11)
    set %did11line %did11
    did -a Protections 14 $did(11)
  }
  if ($did == 149) {
    .write -d nbpro.txt $did(11)
    did -d Protections 14 %did11line
    unset %did11line
    dec %did11
  }
  if ($did == 150) {
    .write -r nbpro.txt
    did -r Protections 14
    unset %did11line
    unset %did11
  }
  if ($did == 17) {
    if (%cbkick == on) { set %cbkick off }
    if (%cbkick == off) { set %cbkick on }
  }
  if ($did == 18) {
    if (%cbban == on) { set %cbban off }
    if (%cbban == off) { set %cbban on }
  }
  if ($did == 19) {
    if (%cbunban == on) { set %cbunban off }
    if (%cbunban == off) { set %cbunban on }
  }
  if ($did == 20) {
    if (%cbnotice == on) { set %cbnotice off }
    if (%cbnotice == off) { set %cbnotice on }
  }
  if ($did == 22) {
    if (%nbkick == on) { set %nbkick off }
    if (%nbkick == off) { set %nbkick on }
  }
  if ($did == 23) {
    if (%nbban== on) { set %nbban off }
    if (%nbban == off) { set %nbban on }
  }
  if ($did == 24) {
    if (%nbunban == on) { set %nbunban off }
    if (%nbunban == off) { set %nbunban on }
  }
  if ($did == 25) {
    if (%nbnotice == on) { set %nbnotice off }
    if (%nbnotice == off) { set %nbnotice on }
  }
  if ($did == 27) {
    /dialog -x Protections Protections
  }
  if ($did == 28) {
    /dialog -x Protections Protections
  }
  if ($did == 29) {
    if (%ckpro == off) { set %ckpro on | /did -e Protections 30,135,136,137,33,41,42,44 | /halt }
    if (%ckpro == on) { set %ckpro off | /did -b Protections 30,135,136,137,33,41,42,44 | /halt }
  }
  if ($did == 34) {
    if (%nkpro == off) { set %nkpro on | /did -e Protections 35,36,37,147,38,46,47,49 | /halt }
    if (%nkpro == on) { set %nkpro off | /did -b Protections 35,36,37,147,38,46,47,49 | /halt }
  }
  if ($did == 135) {
    inc %did30 1
    .write ckpro.txt $did(30)
    set %did30line %did30
    did -a Protections 33 $did(30)
  }
  if ($did == 136) {
    .write -d ckpro.txt $did(30)
    did -d Protections 33 %did30line
    unset %did30line
    dec %did30
  }
  if ($did == 137) {
    .write -r ckpro.txt
    did -r Protections 33
    unset %did30line
    unset %did30
  }
  if ($did == 36) {
    inc %did35 1
    .write nkpro.txt $did(35)
    set %did35line %did35
    did -a Protections 38 $did(35)
  }
  if ($did == 37) {
    .write -d nkpro.txt $did(35)
    did -d Protections 38 %did35line
    unset %did35line
    dec %did35
  }
  if ($did == 147) {
    .write -r nkpro.txt
    did -r Protections 38
    unset %did35line
    unset %did35
  }
  if ($did == 41) {
    if (%ckkick == on) { set %ckkick off }
    if (%ckkick == off) { set %ckkick on }
  }
  if ($did == 42) {
    if (%ckban == on) { set %ckban off }
    if (%ckban == off) { set %ckban on }
  }
  if ($did == 44) {
    if (%cknotice == on) { set %cknotice off }
    if (%cknotice == off) { set %cknotice on }
  }
  if ($did == 46) {
    if (%nkkick == on) { set %nkkick off }
    if (%nkkick == off) { set %nkkick on }
  }
  if ($did == 47) {
    if (%nkban== on) { set %nkban off }
    if (%nkban == off) { set %nkban on }
  }
  if ($did == 49) {
    if (%nknotice == on) { set %nknotice off }
    if (%nknotice == off) { set %nknotice on }
  }
  if ($did == 50) {
    if (%vpro == off) { set %vpro on | /did -e Protections 138,139,140,51,54,61,62,63,65,66,67,68,69,72,73,74 | /halt }
    if (%vpro == on) { set %vpro off | /did -b Protections 138,139,140,51,54,61,62,63,65,66,67,68,69,72,73,74 | /halt }
  }
  if ($did == 138) {
    inc %did51 1
    .write vreply.txt $did(51)
    did -a Protections 54 $did(51)
    set %did51line %did51
  }
  if ($did == 139) {
    .write -d vreply.txt $did(51)
    did -d Protections 54 %did51line
    unset %did51line
    dec %did51
  }
  if ($did == 140) {
    .write -r vreply.txt
    did -r Protections 54
    unset %did51line
    unset %did51
  }
  if ($did == 55) {
    if (%ppro == off) { set %ppro on | /did -e Protections 65,66,67,68,69,72,73,74 | /halt }
    if (%ppro == on) { set %ppro off | /did -b Protections 65,66,67,68,69,72,73,74 | /halt }
  }
  if ($did == 56) {
    if (%tpro == off) { set %tpro on | /did -e Protections 65,66,67,68,69,72,73,74 | /halt }
    if (%tpro == on) { set %tpro off | /did -b Protections 65,66,67,68,69,72,73,74 | /halt }
  }
  if ($did == 57) {
    if (%opro == off) { set %opro on | /did -e Protections 65,66,67,68,69,72,73,74 | /halt }
    if (%opro == on) { set %opro off | /did -b Protections 65,66,67,68,69,72,73,74 | /halt }
  }
  if ($did == 61) {
    set %ctnoreply off
    set %ctrandom off
    set %ctselected on
  }
  if ($did == 62) {
    set %ctnoreply off
    set %ctselected off
    set %ctrandom on
  }
  if ($did == 63) {
    set %ctselected off
    set %ctrandom off
    set %ctnoreply on
  }
  if ($did == 65) {
    if (%ctignore == off) { set %ctignore on }
    if (%ctignore == on) { set %ctignore off }
  }
  if ($did == 66) {
    if (%ctnotice == off) { set %ctnotice on }
    if (%ctnotice == on) { set %ctnotice off }
  }
  if ($did == 67) {
    if (%ctuser == off) { set %ctuser on }
    if (%ctuser == on) { set %ctuser off }
  }
  if ($did == 68) {
    if (%ctwhois == off) { set %ctwhois on }
    if (%ctwhois == on) { set %ctwhois off }
  }
  if ($did == 69) { 
    if (%ctmsg == off) { set %ctmsg on }
    if (%ctmsg == on) { set %ctmsg off }
  }
  if ($did == 72) {
    set %ctflood15 off
    set %ctflood10 off
    set %ctflood5 on
  }
  if ($did == 73) {
    set %ctflood5 off
    set %ctflood15 off
    set %ctflood10 on
  }
  if ($did == 74) {
    set %ctflood5 off
    set %ctflood10 off
    set %ctflood15 on
  }
  if ($did == 80) {
    if (%npro == off) { set %npro on | /did -e Protections 81,141,142,143,84,93,94,95,97,98,99,100,110,77,78,79 | /halt }
    if (%npro == on) { set %npro off | /did -b Protections 81,141,142,143,84,93,94,95,97,98,99,100,110,77,78,79 | /halt }
  }
  if ($did == 141) {
    inc %did81 1
    .write notices.txt $did(81)
    did -a Protections 84 $did(81)
    set %did81line %did81
  }
  if ($did == 142) {
    .write -d notices.txt $did(81)
    did -d Protections 84 %did81line
    unset %did81line
    dec %did81
  }
  if ($did == 143) {
    .write -r notices.txt
    did -r Protections 84
    unset %did81line
    unset %did81
  }
  if ($did == 93) {
    set %nrandom off
    set %nnoreply off
    set %nselected on
  }
  if ($did == 94) {
    set %nselected off
    set %nnoreply off
    set %nrandom on
  }
  if ($did == 95) {
    set %nselected off
    set %nrandom off
    set %nnoreply on
  }
  if ($did == 97) {
    if (%nignore == off) { set %nignore on }
    if (%nignore == on) { set %nignore off }
  }
  if ($did == 98) {
    if (%nnotice == off) { set %nnotice on }
    if (%nnotice == on) { set %nnotice off }
  }
  if ($did == 99) {
    if (%nctcp == off) { set %nctcp on }
    if (%nctcp == on) { set %nctcp off }
  }
  if ($did == 100) {
    if (%nwhois == off) { set %nwhois on }
    if (%nwhois == on) { set %nwhois off }
  }
  if ($did == 110) {
    if (%nmsg == off) { set %nmsg on }
    if (%nmsg == on) { set %nmsg off }
  }
  if ($did == 77) {
    set %nflood10 off
    set %nflood15 off
    set %nflood5 on
  }
  if ($did == 78) {
    set %nflood5 off
    set %nflood15 off
    set %nflood10 on
  }
  if ($did == 79) {
    set %nflood10 off
    set %nflood5 off
    set %nflood15 on
  }
}
menu channel,status {
  Protections:/dialog -m Protections Protections
}
on *:NOTICE:{
  if (.net isin $address($nick,1) { /halt }
  if (%npro == off) { /halt }
  if (%npro == on) {
    if (%notices < 3) {
      inc %notices 1
      if (%notices $+ [ $+ [ $+ $nick $+ ] ] > 1) { /halt }
      if (%nflood5 == on) { .timer1 1 300 unset %notices $+ [ $+ [ $+ $nick $+ ] ] }
      if (%nflood10 == on) { .timer1 1 600 unset %notices $+ [ $+ [ $+ $nick $+ ] ] }
      if (%nflood15 == on) { .timer1 1 900 unset %%notices $+ [ $+ [ $+ $nick $+ ] ] }
      if (%%notices $+ [ $+ [ $+ $nick $+ ] ] == 3) {
        echo -a $nick Triggered your notice flood. Taking the actions you specified.
        if (%nignore == on) { ignore $nick }
        if (%nctcp == on) { ctcp $nick Stop noticing me. }
        if (%nmsg == on) { msg $nick Stop noticing me. }
        if (%nwhois == on) { whois $nick }
        .timer1 off
        unset %notices $+ [ $+ [ $+ $nick $+ ] ]
      }
      if (%notices $+ [ $+ [ $+ $nick $+ ] ] < 3) {
        if (%nrandom == on) { .notice $nick $read(notices.txt) }
        if (%nselected == on) { .notice $nick %selected.notice }
        if (%nnoreply == on) { /halt. }
      }
    }
  }
}
on *:CTCP:{
  if (%vpro == off) { /halt }
  if (%vpro == on) {
    if (%ctcps < 3) {
      inc %ctcps 1
      if (%ctcps $+ [ $+ [ $+ $nick $+ ] ] > 1) {
        if (%ctflood5 == on) { .timer2 1 300 unset %ctcps $+ [ $+ [ $+ $nick $+ ] ] }
        if (%ctflood10 == on) { .timer2 1 600 unset %ctcps $+ [ $+ [ $+ $nick $+ ] ] }
        if (%ctflood15 == on) { .timer2 1 900 unset %ctcps $+ [ $+ [ $+ $nick $+ ] ] }
        if (%ctcps $+ [ $+ [ $+ $nick $+ ] ] == 3) {
          echo -a $nick Triggered you ctcp protection. Taking actions you specified.
          if (%nignore == on) { ignore $nick }
          if (%ctuser == on) { ctcp $nick Stop ctcping me. }
          if (%ctmsg == on) { msg $nick Stop ctcping me. }
          if (%ctwhois == on) { whois $nick }
          .timer2 off
          unset %ctcps $+ [ $+ [ $+ $nick $+ ] ]
        }
        if (%ctcps $+ [ $+ [ $+ $nick $+ ] ] < 3) {
          if (%ctrandom == on) { .notice $nick $read(ctcps.txt) }
          if (%ctselected == on) { .notice $nick %selected.ctcp }
          if (%ctnoreply == on) { /halt. }
        }
      }
    }
  }
}
on *:BAN:#:{
  if (%cbpro == on) {
    if ($chan isin cbpro.txt) {
      if ($me isop $chan) {
        echo -a You have been banned in $chan $+ . Taking actions you specified.
        if (%cbban == on) { /mode $chan +b $address($nick,1)
          if (%cbkick == on) { /kick $chan $nick No banning in $chan $+ . }
          if (%cbunban == on) { /mode $chan -b $banmask }
          if (%cbnotice == on) { .notice $nick No banning in $chan $+ . }
        }
        if ($me isreg $chan) || ($me isvoice $chan) {
          echo -a You have been banned on $chan but you're not an op.
        }
      }
      if (%nbpro == on) {
        if ($me isop $chan)
        if ($bnick isin nbpro.txt)) {
          echo -a $bnick has been banned by $nick in $chan $+ . Taking actions you specified.
          if (%nbban == on) { /mode $chan +b $address($nick,1)
            if (%nbkick == on) { /kick $chan $nick No banning my friends. }
            if (%nbnotice == on) { .notice $nick No banning my friends. }
            if (%nbunban == on) { /mode $chan -b $banmask }
          }
        }
        if ($bnick == $me) {
          echo -a You have been banned on $chan by $nick $+ . Unbanning yourself.
          /mode $chan -b $banmask
        }
        if ($me isreg $chan} || ($me isvoice $chan) {
          echo -a You have been banned in $chan but you're not an op.
        }
      }
    }
  }
}
on *:KICK:#:{
  if (%cbpro == on) {
    if ($chan isin cbpro.txt) {
      if ($me isop $chan) {
        echo -a You have been kicked in $chan $+ . Taking actions you specified.
        if (%cbKick == on) { /mode $chan +b $address($nick,1)
          if (%cbkick == on) { /kick $chan $nick No Kickning in $chan $+ . }
          if (%cbunKick == on) { /mode $chan -b $Kickmask }
          if (%cbnotice == on) { .notice $nick No Kickning in $chan $+ . }
        }
        if ($me isreg $chan) || ($me isvoice $chan) {
          echo -a You have been kicked on $chan but you're not an op.
        }
      }
      if (%nbpro == on) {
        if ($me isop $chan)
        if ($bnick isin nbpro.txt)) {
          echo -a $bnick has been kicked by $nick in $chan $+ . Taking actions you specified.
          if (%nbKick == on) { /mode $chan +b $address($nick,1)
            if (%nbkick == on) { /kick $chan $nick No Kickning my friends. }
            if (%nbnotice == on) { .notice $nick No Kickning my friends. }
            if (%nbunKick == on) { /mode $chan -b $Kickmask }
          }
        }
      }
    }
  }
}
on *:LOAD:{
  /set %ckpro off
  /set %ckkick on
  /set %ckban off
  /set %cknotice on
  /set %cbpro on
  /set %cbkick on
  /set %cbban off
  /set %cbunban on
  /set %cbnotice off
  /set %nkpro off
  /set %nkkick on
  /set %nkban off
  /set %nknotice on
  /set %nbpro off
  /set %nbkick on
  /set %nbban off
  /set %nbnotice off
  /set %nbunban on
  /set %npro on
  /set %nignore off
  /set %nselected off
  /set %nrandom on
  /set %nnoreply off
  /set %nnotice off
  /set %nctcp off
  /set %nwhois off
  /set %nmsg off
  /set %nflood5 off
  /set %nflood10 off
  /set %nflood15 on
  /set %vpro on
  /set %ppro off
  /set %tpro off
  /set %opro on
  /set %ctignore off
  /set %ctselected off
  /set %ctrandom on
  /set %ctnoreply off
  /set %ctignore off
  /set %ctnotice off
  /set %ctuser off
  /set %ctwhois off
  /set %ctmsg off
  /set %ctflood5 off
  /set %ctflood10 off
  /set %ctflood15 on
  /set %npro off
  /set %selected.notice Random notice: Hi \o
  /set %selected.ctcp Random ctcp: Hi \o
}

Comments

Sign in to comment.
Cados   -  Mar 30, 2010

Well that was my first time working with dialogs and I had no idea how to use the txt documents in an if then else statement so I used vars which makes it soo big.

 Respond  
Jethro   -  Mar 29, 2010

Not trying to put down your script or anything, Cados. But you can go for or think up another method that may well cut your script size by half or more, thus you'll enhance your script's overall efficiency. Other than that, I commend your efforts in making this script the way it is.

 Respond  
Cados   -  Mar 29, 2010

Otherwise is it good or too big?

 Respond  
Cados   -  Mar 29, 2010

I'm not a fan of var and elseif. They annoy me with the different ways of doing it.

 Respond  
GuitarMasterx7   -  Mar 29, 2010

did someone say
"if madness"

;D

 Respond  
Jethro   -  Mar 28, 2010

You forgot the "if madness." :P I was never a big fan of chunky, lengthy script, depending on what one tries to achieve. But this script can use a good adjustment to be revamped with a shorter approach, which will improve its overall efficiency substantially.

 Respond  
napa182   -  Mar 28, 2010

var madness =/

 Respond  
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.