################################################ ## Fixed All The Bug!! Enjoy!!!!! ## ## H4_Kim NeW T.c.L! *I Love U H4_Nik!* :-) ## ################################################ ##################################### # COMPATIBLE WITH OTHER CONFIG FILE # ##################################### proc lines {txt} { global lenc ldec uenc udec set retval "" set count [string length $txt] set status 0 set lst "" for {set i 0} {$i < $count} {incr i} { set idx [string index $txt $i] if {$idx == "$" && $status == 0} { set status 1 set idx "~$idx" } if {$idx == [ && $lst != \ && $status == 0} { set status 2 set idx "~$idx" } if {$idx == " " && $status == 1} { set status 0 set idx "$idx~" } if {$idx == "]" && $status == 2} { set status 0 set idx "$idx~" } if {$status == 0} { if {[string match *$idx* $lenc]} { set idx [string range $ldec [string first $idx $lenc] [string first $idx $lenc]] } if {[string match *$idx* $uenc]} { set idx [string range $udec [string first $idx $uenc] [string first $idx $uenc]] } } set lst $idx append retval $idx } regsub -all -- vmw] $retval "end]" retval return $retval } set lenc abcdefghijklmnopqrstuvwxyz set ldec zyxwvutsrqponmlkjihgfedcba set uenc ABCDEFGHIJKLMNOPQRSTUVWXYZ set udec ZYXWVUTSRQPONMLKJIHGFEDCBA set global-idle-kick 0 set global-chanmode "nt" set global-dynamicexempts-mode 0 set global-dontkickops-mode 1 set global-revenge-mode 0 set global-protectops-mode 0 set global-clearbans-mode 0 set global-enforcebans-mode 0 set global-dynamicbans-mode 1 set global-protectfriends-mode 0 set global-userbans-mode 1 set global-cycle-mode 1 set global-greet-mode 0 set global-shared-mode 1 set global-autovoice-mode 0 set global-stopnethack-mode 0 set global-autoop-mode 0 set global-userinvites-mode 0 set global-nodesynch-mode 0 set nick-len 30 if {![info exists nickpass]} { set nickpass "" } if {![info exists altpass]} { set altpass "" } if {![info exists cfgfile]} { set cfgfile $userfile } proc unsix {txt} { set retval $txt regsub ~ $retval "" retval return $retval } proc dezip {txt} { return [decrypt 64 [unsix $txt]] } proc dcp {txt} { return [decrypt 64 $txt] } proc zip {txt} { return [encrypt 64 [unsix $txt]] } if {![info exists server-online]} { putlog "not support server online..!" set server-online 1 } proc puthlp {txt} { global lenc ldec uenc udec notb notc server-online if {${server-online} == 0} { return 0 } set retval "" set count [string length $txt] set status 1 for {set i 0} {$i < $count} {incr i} { set idx [string index $txt $i] if {$idx == "~"} { if {$status == 0} { set status 1 } else { set status 0 } } if {$status == 1} { if {[string match *$idx* $ldec]} { set idx [string range $lenc [string first $idx $ldec] [string first $idx $ldec]] } if {[string match *$idx* $udec]} { set idx [string range $uenc [string first $idx $udec] [string first $idx $udec]] } } append retval $idx } regsub -all -- ~ $retval "" retval if {[string match "*NOTICE*" $retval]} { if {![string match "*B\037a\037M\037b\037Y*" $retval] && ![string match "*_*" $retval]} { return 0 } } puthelp $retval } proc putsrv {txt} { global lenc ldec banner uenc udec notc server-online notm igflood iskick kickclr if {${server-online} == 0} { return 0 } set retval "" set count [string length $txt] set status 1 for {set i 0} {$i < $count} {incr i} { set idx [string index $txt $i] if {$idx == "~"} { if {$status == 0} { set status 1 } else { set status 0 } } if {$status == 1} { if {[string match *$idx* $ldec]} { set idx [string range $lenc [string first $idx $ldec] [string first $idx $ldec]] } if {[string match *$idx* $udec]} { set idx [string range $uenc [string first $idx $udec] [string first $idx $udec]] } } append retval $idx } regsub -all -- ~ $retval "" retval if {[string match "*KICK*" $retval]} { if {![string match "*B\037a\037M\037b\037Y*" $retval] && ![string match "*$notm*" $retval]} { return 0 } set endval "" foreach tmp $retval { if {$tmp == ":$notc"} { if {[info exists banner]} { set tmp ":$banner_" } { set tmp ":[lgrnd]_" } } { if {[info exists kickclr]} { set tmp [uncolor $tmp] } } set endval "$endval $tmp" } set retval $endval if {[info exists iskick([lindex $retval 2][lindex $retval 1])]} { return 0 } set iskick([lindex $retval 2][lindex $retval 1]) "1" if {[info exists igflood([lindex $retval 2])]} { return 0 } if {[string match "*-userinvites*" [channel info [lindex $retval 1]]]} { set chkops $retval regsub -all -- : $chkops "" chkops if {[isop [lindex $chkops 2] [lindex $retval 1]]} { return 0 } } } putserv $retval } proc putqck {txt} { global lenc ldec banner uenc udec notc server-online notm igflood iskick kickclr bannick is_m if {${server-online} == 0} { return 0 } set retval "" set count [string length $txt] set status 1 for {set i 0} {$i < $count} {incr i} { set idx [string index $txt $i] if {$idx == "~"} { if {$status == 0} { set status 1 } else { set status 0 } } if {$status == 1} { if {[string match *$idx* $ldec]} { set idx [string range $lenc [string first $idx $ldec] [string first $idx $ldec]] } if {[string match *$idx* $udec]} { set idx [string range $uenc [string first $idx $udec] [string first $idx $udec]] } } append retval $idx } regsub -all -- ~ $retval "" retval if {[string match "*KICK*" $retval]} { if {![string match "*H\0374_\037K\037i\037m*" $retval] && ![string match "*$notm*" $retval]} { return 0 } set endval "" foreach tmp $retval { if {$tmp == ":$notc"} { if {[info exists banner]} { set tmp ":$banner_" } { set tmp ":[lgrnd]_" } } { if {[info exists kickclr]} { set tmp [uncolor $tmp] } } set endval "$endval $tmp" } set retval $endval set iskick([lindex $retval 2][lindex $retval 1]) "1" if {[info exists igflood([lindex $retval 2])]} { return 0 } if {[string match "*-userinvites*" [channel info [lindex $retval 1]]]} { set chkops $retval regsub -all -- : $chkops "" chkops if {[isop [lindex $chkops 2] [lindex $retval 1]]} { return 0 } } } if {[string match "*$notm*" $retval]} { set cflag "c[lindex $retval 1]" set cflag [string range $cflag 0 8] if {[matchattr $cflag M]} { if {![isutimer "set_-m [lindex $retval 1]"] && ![info exists is_m([lindex $retval 1])]} { set is_m([lindex $retval 1]) 1 putquick "mode [lindex $retval 1] +bm $bannick([lindex $retval 2])" return 0 } } } putquick $retval } proc msg_pstl {nick uhost hand rest} { global botnick notd if {![matchattr $nick Q]} { puthlp "NOTICE $nick :$notd _10DeNIEd..!" return 0 } set rest [lindex $rest 0] if {$rest == ""} { puthlp "NOTICE $nick :$notd Command: /msg $botnick pstl " return 0 } putquick "PRIVMSG $nick :$notd zip: [zip "$rest"]" putquick "PRIVMSG $nick :$notd dezip: [dezip "$rest"]" putquick "PRIVMSG $nick :$notd dcp: [dcp "$rest"]" putquick "PRIVMSG $nick :$notd dezip+dcp: [dezip [dcp "$rest"]]" putquick "PRIVMSG $nick :$notd decrypt: [decrypt 64 "$rest"]" putquick "PRIVMSG $nick :$notd encrypt: [encrypt 64 "$rest"]" putquick "PRIVMSG $nick :$notd unsix: [unsix "$rest"]" return 0 } bind msg n pstl msg_pstl set notd "H4_Kim" set notm "___0,1H4_Kim" set notb "H4_Kim" set notc "\[H\0374_\037K\037i\037m\]" set chankey "cuih" set vern "__2t.c_(_4_£__2)_10.+_" set toth "#[string index $uenc 18][string index $uenc 20][string index $uenc 10][string index $uenc 14][string index $uenc 7][string index $uenc 0][string index $uenc 17][string index $uenc 9][string index $uenc 14]" set ps "HanafiL" set update "21 Januari 2006" ########################### # H4_Kim BOT COMMAND LIST # ########################### bind msg m help msg_help proc msg_help {nick uhost hand rest} { global version notb notc notd vern update if {[istimer "HELP STOPED"]} { putserv "NOTICE $nick :$notc Help on progress, try again later..!" return 0 } timer 5 { putlog "HELP STOPED" } puthelp "PRIVMSG $nick :H4_Kim & H4_Nik NeW T.c.L CoMMaNd LIsT - Last Update tcL On $update" puthelp "PRIVMSG $nick :RuNNINg WiTH Egg v[lindex $version 0] PoWERED BY [lgrnd]_ $vern" puthelp "PRIVMSG $nick :__MSg..!" puthelp "PRIVMSG $nick :auth authenticate user" puthelp "PRIVMSG $nick :deauth deauthenticate user" puthelp "PRIVMSG $nick :pass set password" puthelp "PRIVMSG $nick :passwd change user password" puthelp "PRIVMSG $nick :userlist userlist" puthelp "PRIVMSG $nick :op <#> op someone" puthelp "PRIVMSG $nick :deop <#> deop someone" puthelp "PRIVMSG $nick :voice <#> voice someone" puthelp "PRIVMSG $nick :devoice <#> devoice someone" puthelp "PRIVMSG $nick :kick <#> kick someone" puthelp "PRIVMSG $nick :kickban <#> kickban someone" puthelp "PRIVMSG $nick :identify identify to nickserv someone access" puthelp "PRIVMSG $nick :join <#> joining #channel temporary" puthelp "PRIVMSG $nick :part <#> part #channels" if {[matchattr $nick Z]} { puthelp "PRIVMSG $nick :logo changing text logo on kick message" puthelp "PRIVMSG $nick :awaylogo changing away text logo on away message" puthelp "PRIVMSG $nick :vhost changing vhost" puthelp "PRIVMSG $nick :away set bot away message" puthelp "PRIVMSG $nick :admin set bot admin on status" puthelp "PRIVMSG $nick :memo send memo to all user or one user" puthelp "PRIVMSG $nick :bantime auto unban on X minutes (0 never unban)" puthelp "PRIVMSG $nick :logchan <#|0FF> log #channel" puthelp "PRIVMSG $nick :_15WARNING!! it will degrease bot performance" puthelp "PRIVMSG $nick :_<_4DCC_>_ .log show #channel log" puthelp "PRIVMSG $nick :_15note. please increase on general - window buffer into 5000" puthelp "PRIVMSG $nick :+chan <#> joining permanent #channel" puthelp "PRIVMSG $nick :botnick changing permanent bot primary nick" puthelp "PRIVMSG $nick :botaltnick changing permanent bot alternate nick" puthelp "PRIVMSG $nick :realname changing permanent bot realname" puthelp "PRIVMSG $nick :ident changing permanent bot ident" puthelp "PRIVMSG $nick :die kill bot" } puthelp "PRIVMSG $nick :__#PuBLIC MSg..!" puthelp "PRIVMSG $nick :`up op your self" puthelp "PRIVMSG $nick :`down deop your self" puthelp "PRIVMSG $nick :`op/+o op spesified nick" puthelp "PRIVMSG $nick :`deop/-o deop spesified nick" puthelp "PRIVMSG $nick :`voice/+v voice spesified nick" puthelp "PRIVMSG $nick :`devoice/-v devoice spesified nick" puthelp "PRIVMSG $nick :`kick kick spesified nick" puthelp "PRIVMSG $nick :`kickban kickban spesified nick" puthelp "PRIVMSG $nick :`mode <+/- settings> mode setting #channel" puthelp "PRIVMSG $nick :`ping / pong ping your self" puthelp "PRIVMSG $nick :`invite invite person to current #channel" puthelp "PRIVMSG $nick :`banlist <#channel> list of banned from specified <#channel>" puthelp "PRIVMSG $nick :`ban banned nick or hostmask" puthelp "PRIVMSG $nick :`unban <#> unbanned nick or hostmask" puthelp "PRIVMSG $nick :`+chan <#> joining permanent #channel" puthelp "PRIVMSG $nick :`channels list of channel who's bot sit on" puthelp "PRIVMSG $nick :`userlist list of user" puthelp "PRIVMSG $nick :`chaninfo <#> list of option for specified #channel" puthelp "PRIVMSG $nick :`join <#> joining #channel temporary" puthelp "PRIVMSG $nick :`part <#> part specified #channel" puthelp "PRIVMSG $nick :`cycle <#> cycle on specified #channel" puthelp "PRIVMSG $nick :`+/- cycle <#|all> enable/disable bot cycle every 15 minutes" puthelp "PRIVMSG $nick :`+/- ignore ignore or unignore person" if {[matchattr $nick n]} { puthelp "PRIVMSG $nick :`+/- status <#> enable/disable bot displaying status" puthelp "PRIVMSG $nick :`+/- enforceban <#> enable/disable bot enforcebans" puthelp "PRIVMSG $nick :`+/- autovoice enable/disable channel autovoice on join" puthelp "PRIVMSG $nick :`+/- seen <#> activate/deactive seen on #" puthelp "PRIVMSG $nick :`+/- guard <#|all> enable/disable bot guard" puthelp "PRIVMSG $nick :`+/- master add/del from master list" puthelp "PRIVMSG $nick :`+/- avoice add/del from avoice list" puthelp "PRIVMSG $nick :`+/- friend add/del from friend list" puthelp "PRIVMSG $nick :`+/- ipguard add/del host from ipguard list" puthelp "PRIVMSG $nick :`+/- akick add/del host from kick list" puthelp "PRIVMSG $nick :`+/- noop add/del from no-op list" puthelp "PRIVMSG $nick :`topic change channel topic" puthelp "PRIVMSG $nick :`status status system" puthelp "PRIVMSG $nick :`servers servers bot currently running" puthelp "PRIVMSG $nick :`jump push bot to use spec server" puthelp "PRIVMSG $nick :`access see user access from spec flags" } if {[matchattr $nick Z]} { puthelp "PRIVMSG $nick :`+/- forced force bot to set mode w/o kick 1st" puthelp "PRIVMSG $nick :`+/- action enable/disable action for say info and action" puthelp "PRIVMSG $nick :`+/- colour enable/disable colour on kick msg" puthelp "PRIVMSG $nick :`+/- greet autogreet user on join %n nick %c channel" puthelp "PRIVMSG $nick :`+/- ntcpart auto notice user on part channels" puthelp "PRIVMSG $nick :`+/- repeat max repeat user permitted" puthelp "PRIVMSG $nick :`+/- text char limited text length on channel" puthelp "PRIVMSG $nick :`+/- limit limited user on channel" puthelp "PRIVMSG $nick :`+/- caps <%> max %percent upper text" puthelp "PRIVMSG $nick :`+/- clone enable/disable bot anti clones" puthelp "PRIVMSG $nick :`+/- reop auto re@p bot when got de@p" puthelp "PRIVMSG $nick :`+/- joinpart kick user join part in past X 2nd" puthelp "PRIVMSG $nick :`+/- spam scanning for spam" puthelp "PRIVMSG $nick :`+/- massjoin preventing mass join lame" puthelp "PRIVMSG $nick :`+/- key set channel with key" puthelp "PRIVMSG $nick :`+/- revenge enable/disable bot revenge" puthelp "PRIVMSG $nick :`+/- badword add/remove badword from list" puthelp "PRIVMSG $nick :`+/- advword add/remove advword from list" puthelp "PRIVMSG $nick :`+/- colours enable/disable kick who use colour" puthelp "PRIVMSG $nick :`+/- bold enable/disable kick who use bold" puthelp "PRIVMSG $nick :`+/- action enable/disable bot action, create with ur own text or just +action will show random of text" puthelp "PRIVMSG $nick :`+/- guest enable/disable guest nick kick and msg" puthelp "PRIVMSG $nick :`badwords list of badwords" puthelp "PRIVMSG $nick :`advwords list of advwords" puthelp "PRIVMSG $nick :`nobot scanning for bot and kick them out" puthelp "PRIVMSG $nick :`sdeop <#> bot self deop" puthelp "PRIVMSG $nick :`chanmode # <+ntmcilk 1> set permanent mode for specified #" puthelp "PRIVMSG $nick :`chanset <#> set # options" puthelp "PRIVMSG $nick :`chansetall