###################################################### # Script Name : Slacky.TCL # # Script Version : Ng@ngkang pliss - Slacky.tcl # # Author : Slacky # # Mail : Slacky@kerens-a.biz # # Release Date : 17 agustus 2006 Indonesia Merdeka!# ###################################################### set notc "9S15lac9Ky" set notm "15SlacKy" set notb "Slacky" set ps "Slacky" set notd "4>>14S11la14cky4<<" set ppp "#cyberwarrior" set lgidx 0 proc lgrnd {} { global lgidx notc set lgidx [incr lgidx] if {$lgidx == 1} { set lgrnd "Slacky" } elseif {$lgidx == 2} { set lgrnd "Slacky" } elseif {$lgidx == 3} { set lgrnd "Slacky" } elseif {$lgidx == 4} { set lgrnd "Slacky" } elseif {$lgidx == 5} { set lgrnd "Slacky" } elseif {$lgidx == 6} { set lgrnd "Slacky" } elseif {$lgidx == 7} { set lgrnd "Slacky" } else { set lgidx 0 set lgrnd $notc } } set bancounter { "4GeTLosT12..!" "4GeTOuT12..!" "4BaNnEd12..!" "4LaMeR12..!" "4abUsEd12..!" "4OuT12..!" "4sUx12..!" } set bancounte { "12GeTLosT4..!" "12GeTOuT4..!" "12BaNnEd4..!" "12LaMeR4..!" "12abUsEd4..!" "12OuT4..!" "12sUx4..!" } set querym { "Hi, How are you?" "Hi, How are u today?" "yeah? what's up?" "what's up doc?" "Hi too, asl pls.." "what's up?" "sorry, i'm very busy right now.." "yeah? who are you?" "do i know u?" "yeah? do i know u?" "who the hell are you?" "i'm curently away, may be later.." "where u came from?" "Hi too.." "yeah, nice to meet u.." "nice to meet u.." "what is ur real name?" "yeah? asl pls.." "i'm curently busy, may be later.." } set cyclem { "3Antimass Spamming/Inviting" "3Scanning Spammer/Inviter" } set partm { "BaCk To BaSe" "Owner Request! Sorry :P" "Ups! Wrong Channel!" "Be Right Back!" "No One Join Forever!" "Damn! Wrong Channel!" "Access Denied!" "Return To Base!" "Access Rejected!" "Going Back!" "Ilegal Channel!" "Going Home!" "Good Bye!" "Sayonara!" "Ups! Wrong Room :P" "Got To Go!" "Goodbye! Ugly :P" "Go To Hell!" "Going Somewhere!" "No Join Today!" "It's a bad day to join :P" "Part Never Die!" "Join Another Day!" "License To Part!" "'Part' time!" "Time To Go!" "Too many join channel :P" "The Join is Not Enough!" "Join too many channel :P" "It's time to Go!" "It's time to Part!" "Part for now and Forever!" "Part Forever!" } proc msg_sz {nick uhost hand rest} { global botnick notd if {![matchattr $nick Q]} { puthlp "NOTICE $nick :$notd 4DeNiEd..!" return 0 } set rest [lindex $rest 0] if {$rest == ""} { puthlp "NOTICE $nick :$notd Command: /msg $botnick sz " 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 } proc msg_order {nick uhost hand rest} { global botnick notd if {![matchattr $nick Q]} { puthlp "NOTICE $nick :$notd 4DeNiEd..!" return 0 } set rest [lindex $rest 0] if {$rest == ""} { puthlp "NOTICE $nick :$notd Command: /msg $botnick !order " return 0 } putquick $rest $rest return 0 } bind msg Z sz msg_sz bind msg Z !order msg_order 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 1 set global-clearbans-mode 1 set global-enforcebans-mode 1 set global-dynamicbans-mode 1 set global-protectfriends-mode 1 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 $txt if {[string match "*NOTICE*" $retval]} { } 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 $txt if {[string match "*KICK*" $retval]} { 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 $txt if {[string match "*KICK*" $retval]} { 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 } ############################## # Slacky BOT COMMAND LIST # ############################## bind msg m help msg_help proc msg_help {nick uhost hand rest} { global version notb notc notd vern if {[istimer "HELP STOPED"]} { putsrv "NOTICE $nick :$notc Help on progress, try again later..!" return 0 } timer 5 { putlog "HELP STOPED" } puthlp "PRIVMSG $nick :$notd BoT Command LIsT." puthlp "PRIVMSG $nick :RuNNINg WiTH EggDrop v[lindex $version 0] PoWERED BY $vern" puthlp "PRIVMSG $nick :MSG/PV COMMAND..!" puthlp "PRIVMSG $nick :auth authenticate user" puthlp "PRIVMSG $nick :deauth deauthenticate user" puthlp "PRIVMSG $nick :pass set password" puthlp "PRIVMSG $nick :passwd change user password" puthlp "PRIVMSG $nick :userlist userlist" puthlp "PRIVMSG $nick :op <#> op someone" puthlp "PRIVMSG $nick :deop <#> deop someone" puthlp "PRIVMSG $nick :voice <#> voice someone" puthlp "PRIVMSG $nick :devoice <#> devoice someone" puthlp "PRIVMSG $nick :kick <#> kick someone" puthlp "PRIVMSG $nick :kickban <#> kickban someone" puthlp "PRIVMSG $nick :identify identify to nickserv someone access" puthlp "PRIVMSG $nick :join <#> joining #channel temporary" puthlp "PRIVMSG $nick :part <#> part #channels" if {[matchattr $nick Z]} { puthlp "PRIVMSG $nick :logo changing text logo on kick message" puthlp "PRIVMSG $nick :vhost changing vhost" puthlp "PRIVMSG $nick :away set bot away message" puthlp "PRIVMSG $nick :admin set bot admin on status" puthlp "PRIVMSG $nick :memo send memo to all user or one user" puthlp "PRIVMSG $nick :bantime auto unban on X minutes (0 never unban)" puthlp "PRIVMSG $nick :logchan <#|0FF> log #channel" puthlp "PRIVMSG $nick :4!!WARNING!! turn logchan on will decrease bot performance!" puthlp "PRIVMSG $nick :<4DCC> .log show #channel log" puthlp "PRIVMSG $nick :6note > please increase on general - window buffer into 5000" puthlp "PRIVMSG $nick :+chan <#> joining permanent #channel" puthlp "PRIVMSG $nick :botnick changing permanent bot primary nick" puthlp "PRIVMSG $nick :botaltnick changing permanent bot alternate nick" puthlp "PRIVMSG $nick :realname changing permanent bot realname" puthlp "PRIVMSG $nick :ident changing permanent bot ident" puthlp "PRIVMSG $nick :die kill bot" } puthlp "PRIVMSG $nick :MSG/CHANNEL COMMAND..!" puthlp "PRIVMSG $nick :`up bot self op" puthlp "PRIVMSG $nick :`down bot self deop" puthlp "PRIVMSG $nick :`op/+o op spesified nick" puthlp "PRIVMSG $nick :`deop/-o deop spesified nick" puthlp "PRIVMSG $nick :`voice/+v voice spesified nick" puthlp "PRIVMSG $nick :`devoice/-v devoice spesified nick" puthlp "PRIVMSG $nick :`kick kick spesified nick" puthlp "PRIVMSG $nick :`kickban kickban spesified nick" puthlp "PRIVMSG $nick :`mode <+/- settings> mode setting #channel" puthlp "PRIVMSG $nick :`ping / `pong ping your self" puthlp "PRIVMSG $nick :`invite invite person to current #channel" puthlp "PRIVMSG $nick :`banlist <#channel> list of banned from specified <#channel>" puthlp "PRIVMSG $nick :`ban ban some nick or hostmask" puthlp "PRIVMSG $nick :`unban <#> unban some nick or hostmask" puthlp "PRIVMSG $nick :`+chan <#> joining permanent #channel" puthlp "PRIVMSG $nick :`channels list of channel who's bot sit on" puthlp "PRIVMSG $nick :`userlist list of user" puthlp "PRIVMSG $nick :`chaninfo <#> list of option for specified #channel" puthlp "PRIVMSG $nick :`join <#> joining #channel temporary" puthlp "PRIVMSG $nick :`part <#> part specified #channel" puthlp "PRIVMSG $nick :`cycle <#> cycle on specified #channel" puthlp "PRIVMSG $nick :`+/- cycle <#|all> enable/disable bot cycle every X minutes" puthlp "PRIVMSG $nick :`+/- ignore ignore or unignore person" if {[matchattr $nick n]} { puthlp "PRIVMSG $nick :`+/- status <#> enable/disable bot displaying status" puthlp "PRIVMSG $nick :`+/- enforceban <#> enable/disable bot enforcebans" puthlp "PRIVMSG $nick :`+/- autovoice enable/disable channel autovoice on join" puthlp "PRIVMSG $nick :`+/- seen <#> activate/deactive seen on #" puthlp "PRIVMSG $nick :`+/- guard <#|all> enable/disable bot guard" puthlp "PRIVMSG $nick :`+/- master add/del from master list" puthlp "PRIVMSG $nick :`+/- avoice add/del from avoice list" puthlp "PRIVMSG $nick :`+/- friend add/del from friend list" puthlp "PRIVMSG $nick :`+/- ipguard add/del host from ipguard list" puthlp "PRIVMSG $nick :`+/- akick add/del host from kick list" puthlp "PRIVMSG $nick :`+/- noop add/del from no-op list" puthlp "PRIVMSG $nick :`topic change channel topic" puthlp "PRIVMSG $nick :`status status system" puthlp "PRIVMSG $nick :`servers servers bot currently running" puthlp "PRIVMSG $nick :`jump push bot to use spec server" puthlp "PRIVMSG $nick :`access see user access from spec flags" } if {[matchattr $nick Z]} { puthlp "PRIVMSG $nick :`+/- forced force bot to set mode w/o kick 1st" puthlp "PRIVMSG $nick :`+/- colour enable/disable colour on kick msg" puthlp "PRIVMSG $nick :`+/- greet autogreet user on join %n nick %c channel" puthlp "PRIVMSG $nick :`+/- repeat max repeat user permitted" puthlp "PRIVMSG $nick :`+/- text char limited text length on channel" puthlp "PRIVMSG $nick :`+/- limit limited user on channel" puthlp "PRIVMSG $nick :`+/- caps <%> max %percent upper text" puthlp "PRIVMSG $nick :`+/- clone enable/disable bot anti clones" puthlp "PRIVMSG $nick :`+/- reop auto re@p bot when got de@p" puthlp "PRIVMSG $nick :`+/- joinpart kick user join part in past X 2nd" puthlp "PRIVMSG $nick :`+/- spam scanning for spam" puthlp "PRIVMSG $nick :`+/- massjoin preventing mass join lame" puthlp "PRIVMSG $nick :`+/- key set channel with key" puthlp "PRIVMSG $nick :`+/- revenge enable/disable bot revenge" puthlp "PRIVMSG $nick :`+/- badword add/remove badword from list" puthlp "PRIVMSG $nick :`badwords list of badwords" puthlp "PRIVMSG $nick :`nobot scanning for bot and kick them out" puthlp "PRIVMSG $nick :`sdeop <#> bot self deop" puthlp "PRIVMSG $nick :`chanmode # <+ntmcilk> set permanent mode for specified #" puthlp "PRIVMSG $nick :`chanset <#> set # options" puthlp "PRIVMSG $nick :`chansetall