All pastes #245984 Raw Edit

adfad

public text v1 · immutable
#245984 ·published 2006-11-11 18:40 UTC
rendered paste body
dialog hamLIST { 
  title "HamLIST Blacklist Script" 
  size -1 -1 294 215 
  option dbu 
  list 1, 20 32 238 90, size 
  box "Hostmasks:", 2, 11 17 259 124 
  button "Remove", 3, 98 124 37 12 
  button "Update", 4, 60 124 37 12 
  edit "", 5, 20 152 238 10 
  button "Add", 6, 22 124 37 12 
  box "Add Hostmask:", 7, 11 143 260 24 
  text "HamLIST Blacklist Script", 8, 15 4 121 12 
  button "OK", 9, 43 179 37 12, ok 
  button "Cancel", 10, 81 179 37 12, cancel 
} 

on *:DIALOG:HamLIST:sclick:6:{ 
  set %hlist.hmask $did(HamLIST,5).text 
  write HamLIST.txt %hlist.hmask 
  did -a HamLIST 1 %hlist.hmask 
  scanchannels 
} 

on *:DIALOG:HamLIST:sclick:3:{ 
  set %hlist.remove $did(HamLIST,1,1).sel 
  write -ds $+ $did(HamLIST,1,1).seltext HamLIST.txt 
  did -d HamLIST 1 %hlist.remove 
} 

on *:DIALOG:HamLIST:sclick:4:{ 
  set %hlist.update $did(HamLIST,5).text 
  write -ds $+ $did(HamLIST,1,1).seltext HamLIST.txt 
  write HamLIST.txt %hlist.update 
  did -o $did(HamLIST,1,1).sel %hlist.update 
} 

alias hamlist { 
  dialog -ma hamlist hamlist 
} 

on *:join:#:{ 
  if ( $nick == $me ) { 
    scanchannel $chan 
  } 
  else { 
    docheck $nick $chan 
  } 
} 

alias docheck { 
  var %hlist.read2 1 
  while (%hlist.read2 <= $lines(hamlist.txt)) { 
    if ( $mask($read(hamlist.txt,%hlist.read2),5) iswm $address($$1,5) ) { 
      mode $chan +b $read(hamlist.txt,%hlist.read2) 
      inc %kicks 1 
      kick $2 $$1 ......) ( $+ %kicks dudes kicked 
    } 
    inc %hlist.read2 1 
  } 
} 
menu channel { 
  HamLIST:/HamLIST 
} 
menu status { 
  HamLIST:/HamLIST 
} 
menu query { 
  HamLIST:/HamLIST 
} 
menu menubar { 
  HamLIST:/HamLIST 
} 

menu nicklist { 
  HamLIST 
  .Add Address 
  ..$+ $address($$1,1) $+ :/hamlist | /set %hlist.hmask $address($$1,1) | /did -a HamLIST 5 %hlist.hmask 
  ..$+ $address($$1,2) $+ :/hamlist | /set %hlist.hmask $address($$1,2) | /did -a HamLIST 5 %hlist.hmask 
  ..$+ $address($$1,3) $+ :/hamlist | /set %hlist.hmask $address($$1,3) | /did -a HamLIST 5 %hlist.hmask 
  ..$+ $address($$1,4) $+ :/hamlist | /set %hlist.hmask $address($$1,4) | /did -a HamLIST 5 %hlist.hmask 
  ..$+ $address($$1,5) $+ :/hamlist | /set %hlist.hmask $address($$1,5) | /did -a HamLIST 5 %hlist.hmask 
} 

on *:DIALOG:hamLIST:init:0:{ 
  var %hlist.read 1 
  while (%hlist.read <= $lines(hamlist.txt)) { 
    did -a hamLIST 1 $read(hamlist.txt,%hlist.read) 
    inc %hlist.read 1 
  } 
} 

on *:text:*:#:{ 
  docheck $nick 
} 
on *:action:*:#:{ 
  docheck $nick 
} 
on *:mode:#:{ 
  docheck $nick 
} 

alias scanchannels { 
  var %sc 1 
  while (%sc <= $chan(0)) { 
    var %sn 1 
    while (%sn <= $nick($chan(%sc),0)) { 
      var %hlist.read2 1 
      while (%hlist.read2 <= $lines(hamlist.txt)) { 
        if ( $mask($read(hamlist.txt,%hlist.read2),5) iswm $address($nick($chan(%sc),%sn),5) ) { 
          mode $chan(%sc) +b $read(hamlist.txt,%hlist.read2) 
          inc %kicks 1 
          kick $chan(%sc) $nick($chan(%sc),%sn) You have been HamLISTED) ( $+ %kicks dudes kicked 
        } 
        inc %hlist.read2 1 
      } 
      inc %sn 1 
    } 
    inc %sc 1 
  } 
} 

alias scanchannel { 
  var %sn 1 
  while (%sn <= $nick($1,0)) { 
    var %hlist.read2 1 
    while (%hlist.read2 <= $lines(hamlist.txt)) { 
      if ( $mask($read(hamlist.txt,%hlist.read2),5) iswm $address($nick($1,%sn),5) ) { 
        mode $1 +b $read(hamlist.txt,%hlist.read2) 
        inc %kicks 1 
        kick $1 $nick($1,%sn) Stupidity seems inevitable for you doesn't it?) ( $+ %kicks dudes kicked 
      } 
      inc %hlist.read2 1 
    } 
    inc %sn 1 
  } 
}