swear code again - 11/11/07 08:16 PM
I want to kick or kick ban the exact word only on open,
exemple: kick sex but not sexy ??
exemple: kick sex but not sexy ??
Code:
alias swear { dialog -dmr sweard sweard | %s.chan = #test99 } dialog sweard { title " Swear" size -1 -1 342 330 option pixels button "&Close", 1, 205 305 60 20, flat cancel list 2, 15 20 309 110, sort size box "Swear Words", 3, 5 6 325 153 button "Add", 4, 100 133 70 20, flat button "Remove", 5, 173 133 70 20, flat check "Kick Message:", 10, 13 179 84 20 box "Other Options", 11, 5 156 326 142 edit "", 12, 99 179 225 20, autohs button "Ok", 13, 270 305 60 20, flat ok check "Exempt The Ops in the Channel", 14, 13 205 175 10 check "Exempt The Voices in the Channel", 15, 13 224 185 10 edit "", 16, 112 238 50 20, autohs check "Set Ban Length:", 17, 13 240 99 20 text "Seconds", 18, 165 240 50 20 combo 19, 112 265 151 89, edit drop text "Select Ban Time", 21, 13 268 99 30 } on *:dialog:sweard:*:*:{ if ($devent == init) { if ($readini($keke,options,ban)) { did -c $dname 17 } if ($readini($keke,options,message)) { did -c $dname 10 } if ($readini($keke,options,ops)) { did -c $dname 14 } if ($readini($keke,options,vops)) { did -c $dname 15 } did -a $dname 12 $readini($keke,options,message) if ($readini($keke,options,secs)) { did -c $dname 17 } did -a $dname 16 $readini($keke,options,secs) did -i $dname 19 0 $readini($keke,options,punish) .dlist 2 swear words did -f $dname 13 did -a sweard 19 Kick did -a sweard 19 Kick and Ban did -a sweard 19 None } if ($devent == sclick) { if ($did(14).state == 1) { op_c } if ($did(15).state == 1) { vo_c } if ($did == 4) { var %t = $$?="Enter swear word $crlf $+ Separate multiple entries with a comma:" if ($numtok(%t,32) > 1) { %t = $replace(%t,$chr(32),$chr(160)) } .writeini $keke swear words $iif($readini($keke,swear,words),$+($ifmatch,$chr(44),%t),%t) dlist 2 swear words } if ($did == 5) { var %tmp = $did(2).seltext if (%tmp) { if ($remtok($readini($keke,swear,words),%tmp,44)) { .writeini $keke swear words $ifmatch } else .remini $keke swear words .dlist 2 swear words } } if ($did == 8) { var %t = $$?="Enter Channel Name $crlf $+ Separate multiple entries with a comma:" if ($chr(32) !isin %t) { .writeini $keke exempt chan $iif($readini($keke,exempt,chan),$+($ifmatch,$chr(44),%t),%t) dlist 7 exempt chan } } if ($did == 9) { var %tmp = $did(7).seltext if (%tmp) { if ($remtok($readini($keke,exempt,chan),%tmp,44)) { .writeini $keke exempt chan $ifmatch } else .remini $keke exempt chan .dlist 7 exempt chan } } if ($did == 13) { ; OK button,flat .writeini $keke options kick $iif($did(10).state == 1,$true,$false) .writeini $keke options message $iif($did(12),$ifmatch,$readini($keke,options,message)) .writeini $keke options secs $iif($did(16) isnum 1-,$ifmatch,$readini($keke,options,secs)) .writeini $keke options ops $iif($did(14).state == 1,$true,$false) .writeini $keke options vops $iif($did(15).state == 1,$true,$false) .writeini $keke options ban $iif($did(17).state == 1,$true,$false) .writeini $keke options punish $iif($did(19),$ifmatch,$readini($keke,options,punish)) } } } on *:OPEN:?:*: { %swear.punish = $readini($keke,options,punish)) if ($readini($keke,options,ops)) { op_c } if ($readini($keke,options,vops)) { vo_c } if ($readini($keke,swear,words)) && ($match_text($1-)) { if (None isin %swear.punish) { return } if (kick isin %swear.punish) { if (ban isin %swear.punish) { .ban $+(-ku,$iif($readini($keke,options,secs),$v1,600)) #test99 $nick 2 $readini($keke,options,message) } else { !kick #test99 $nick $readini($keke,options,message) } } } } alias -l keke return $+(",$scriptdirswear.ini,") alias -l match_text { var %i = 1,%a = $readini($keke,swear,words) while ($gettok(%a,%i,44)) { var %swear = $+(*,$replace($v1,$chr(160),$chr(32)),*) if ($wildtok($1-,%swear,1,44)) { return $true } inc %i } } alias op_c { if ($nick isop %s.chan) { halt } } alias vo_c { if ($nick isvo %s.chan) { halt } } alias -l dlist { var %a = 1 did -r $dname $1 while ($gettok($readini($keke,$2,$3),%a,44)) { did -az $dname $1 $ifmatch inc %a } }