On *:start: { hmake badwords 50 if ( $isfile($+(",$scriptdirbadwords.hsh,")) ) { hload badwords $+(",$scriptdirbadwords.hsh,") } } on *:exit: { hsave -o badwords $+(",$scriptdirbadwords.hsh,") hfree badwords } dialog badwords { title "Bad Words List" size -1 -1 170 160 option dbu button "OK", 10, 62 144 37 12, ok cancel tab "Words", 30, 0 -2 169 141 edit "Enter A Bad Word To Add", 1, 4 14 124 10, tab 30 box "Current Bad Words list. Double Click a word to remove it.", 3, 2 26 166 112, tab 30 button "Add Word", 11, 130 14 37 10, tab 30 list 2, 4 34 162 102, tab 30 sort size tab "Options", 31 check "Warn Before Kicking or Banning", 40, 2 16 134 10, tab 31 check "Kick User", 41, 2 26 38 10, tab 31 check "Kick/Ban User", 42, 2 36 54 10, tab 31 edit "5 Minutes", 43, 116 36 50 10, tab 31 text "Ban Time In Minutes:", 50, 64 38 51 8, tab 31 edit "Please Watch Your language.", 45, 50 70 116 20, tab 31 multi autohs text "Ban/Kick Reason:", 4, 2 70 43 8, tab 31 text "Channels to Monitor:", 52, 2 96 163 8, tab 31 edit "Use # to indicate all channels. Seperate Multiple channels by spaces. IE: #channel1 #channel2 #channel3", 46, 2 104 166 22, tab 31 multi autovs text "Warning Message:", 53, 2 48 47 8, tab 31 edit "Please Watch Your Language. Further abuse will cause actions to be taken.", 47, 50 46 116 20, tab 31 multi } alias badwords { if ( !$hget(badwords) ) hmake badwords 100 dialog -m Badwords Badwords } on *:dialog:badwords:init:0: { if ( $hget(badwords) != $null ) { var %x 1 did -r badwords 2 while ( %x <= $hget(badwords,0).item ) { did -a badwords 2 $hget(badwords,%x).item inc %x } } if ( $ini($+(",$scriptdirsettings.ini),Badwords) != $null ) { if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Warn) == 1 ) did -c badwords 40 if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Kick) == 1 ) did -c badwords 41 if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Ban) == 1 ) did -c badwords 42 if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Bantime) != $null ) did -ra badwords 43 $calc( $readini($+(",$scriptdirsettings.ini,"),Badwords,Bantime) / 60 ) Minutes if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Reason) != $null ) did -ra badwords 45 $readini($+(",$scriptdirsettings.ini,"),Badwords,Reason) if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Warnmsg) != $null ) did -ra badwords 47 $readini($+(",$scriptdirsettings.ini,"),Badwords,Warnmsg) if ( $readini($+(",$scriptdirsettings.ini,"),Badwords,Channels) != $null ) did -ra badwords 46 $replace($readini($+(",$scriptdirsettings.ini,"),Badwords,Channels),$chr(44),$chr(32)) } } on *:dialog:badwords:dclick:2: { hdel badwords $did(badwords,2).seltext did -d badwords 2 $did(badwords,2).sel } on *:dialog:badwords:sclick:11: { if ( $did(badwords,1).text == $null ) { did -ra badwords 1 Please Enter Text halt } if ( $hfind(badwords,$did(badwords,1).text,1) == $null ) { if ( $did(badwords,1).edited == $true ) { hadd badwords $did(badwords,1).text did -a badwords 2 $did(badwords,1).text did -j badwords 1 } else { did -ra badwords 1 You Must edit this text before clicking add. did -j badwords 1 } } else { did -ra badwords 1 $+(",$did(badwords,1).text,") Already Exists in the List. did -j badwords 1 } } on *:dialog:badwords:sclick:41: { if ( $did(badwords,41).state == 1 ) && ( $did(badwords,42).state == 1 ) { did -u badwords 42 } } on *:dialog:badwords:sclick:42: { if ( $did(badwords,42).state == 1 ) && ( $did(badwords,41).state == 1 ) { did -u badwords 41 } } on *:dialog:badwords:sclick:10: { .writeini $+(",$scriptdirsettings.ini,") Badwords Warn $did(badwords,40).state .writeini $+(",$scriptdirsettings.ini,") Badwords Kick $did(badwords,41).state .writeini $+(",$scriptdirsettings.ini,") Badwords Ban $did(badwords,42).state var %x 1 if ( $did(badwords,45).text != $null ) { while ( %x <= $did(badwords,45).lines ) { set %badwords.reason %badwords.reason $did(badwords,45,%x).text inc %x } .writeini $+(",$scriptdirsettings.ini,") Badwords Reason %badwords.reason unset %badwords.reason } else { .remini $+(",$scriptdirsettings.ini,") Badwords Reason } var %x 1 if ( $did(badwords,47).text != $null ) { while ( %x <= $did(badwords,47).lines ) { set %badwords.warnmsg %badwords.warnmsg $did(badwords,47,%x).text inc %x } .writeini $+(",$scriptdirsettings.ini,") Badwords Warnmsg %badwords.warnmsg unset %badwords.warnmsg } else { .remini $+(",$scriptdirsettings.ini,") Badwords Warnmsg } $iif( $did(badwords,43).text != $null , .writeini $+(",$scriptdirsettings.ini,") Badwords Bantime $calc( $int($did(badwords,43).text) * 60 ) , .remini $+(",$scriptdirsettings.ini,") Badwords Bantime ) if ( $did(badwords,46).edited ) && ( $did(badwords,46).text != $null ) { var %x 1 while ( %x <= $did(badwords,46).lines ) { set %badwords.channels %badwords.channels $did(badwords,46,%x).text inc %x } .writeini $+(",$scriptdirsettings.ini,") Badwords Channels $replace(%badwords.channels,$chr(32),$chr(44)) unset %badwords.channels } else { .remini $+(",$scriptdirsettings.ini,") Badwords Channels } } ;;;;;;;;on text script section;;;;;;;;;;;;;; on @*:text:*:$($readini($+(",$scriptdirsettings.ini,"), Badwords, Channels)): { var %x 1 while ( %x <= $numtok($1-,32) ) { if ( $hfind(badwords,$gettok($1-,%x,32),1,W) != $null ) { ;;warn;; if ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Warn) == 1 ) { if ( $hget(badwordswarn,$+($nick,.,$chan)) == $null ) { hinc -m badwordswarn $+($nick,.,$chan) .Notice $nick $chan $readini($+(",$scriptdirsettings.ini,"), Badwords, Warnmsg) } else { hinc -m badwordswarn $+($nick,.,$chan) } ;;warned kick;; if ( $hget(badwordswarn,$+($nick,.,$chan)) > 1 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Kick) == 1 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Ban) == 0 ) { .kick $chan $nick $readini($+(",$scriptdirsettings.ini,"), Badwords, Reason ) hdel badwordswarn $+($nick,.,$chan) } ;;warned kickban;; elseif ( $hget(badwordswarn,$+($nick,.,$chan)) > 1 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Kick) == 0 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Ban) == 1 ) { .ban $+(-ku,$readini($+(",$scriptdirsettings.ini,"), Badwords, Bantime)) $chan $nick $readini($+(",$scriptdirsettings.ini,"), Badwords, Reason ) $calc( $readini($+(",$scriptdirsettings.ini,"),Badwords,Bantime) / 60 ) Minutes hdel badwordswarn $+($nick,.,$chan) } } } ;;no warn;; if ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Warn) == 0 ) { ;;;no warn kick;;; if ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Kick) == 1 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Ban) == 0 ) { .kick $chan $nick $readini($+(",$scriptdirsettings.ini,"), Badwords, Reason ) } ;;;no warn kickban elseif ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Kick) == 0 ) && ( $readini($+(",$scriptdirsettings.ini,"), Badwords, Ban) == 1 ) { .ban $+(-,ku,$readini($+(",$scriptdirsettings.ini,"), badwords, bantime)) $chan $nick $readini($+(",$scriptdirsettings.ini,"), Badwords, Reason ) Banned: $calc( $readini($+(",$scriptdirsettings.ini,"),Badwords,Bantime) / 60 ) Minutes } } inc %x } } alias badwords.batchadd { var %file = $+(",$sfile($scriptdir*.txt,Select your Text file,Batch Add),")) if (%file == $null) { echo -a You must enter a file. halt } else { badwords var %x = 1 while (%x <= $lines(%file)) { if ($hfind(badwords,$read(%file,%x),0) == 0) { hadd badwords $read(%file,%x) did -a badwords 2 $read(%file,%x) did -j badwords 1 } inc %x } echo -a Finished with the batch add. } }