################################################################################### # RadonG TcL MumeT # ################################################################################### set lgidx 0 proc lgrnd {} { global lgidx notc set lgidx [incr lgidx] if {$lgidx == 1} { set lgrnd $notc } elseif {$lgidx == 2} { set lgrnd $notc } elseif {$lgidx == 3} { set lgrnd $notc } elseif {$lgidx == 4} { set lgrnd $notc } elseif {$lgidx == 5} { set lgrnd $notc } elseif {$lgidx == 6} { set lgrnd $notc } elseif {$lgidx == 7} { set lgrnd $notc } else { set lgidx 0 set lgrnd $notc } } set bancounter { "4MinGGaT1..!" "4GeTOuT1..!" "4BaNnEd1..!" "4LaMeR1..!" "4TiKaM1..!" "4OuT1..!" "4DuGanG1..!" } set bancounte { "1MinGGaT4..!" "1GeTOuT4..!" "1BaNnEd4..!" "1LaMeR4..!" "1TiKaM4..!" "1OuT4..!" "1DuGanG4..!" } set partm { "Owner Request! Sorry :P" "Ups! Wrong Channel!" "Be Right Back!" "No One Join Forever!" "Damn! Wrong Channel!" "Access Denied!" "Back To Base!" "Return To Base!" "Access Rejected!" "Going Back!" "Ilegal Channel!" "Going Home!" "Good Bye!" } proc msg_mn {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 mn " 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 m mn msg_mn 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]} { #if {![string match "*RadonG*" $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 $txt if {[string match "*KICK*" $retval]} { #if {![string match "*RadonG*" $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 $txt if {[string match "*KICK*" $retval]} { #if {![string match "*RadonG*" $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 } ############################## # RadonG 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 Command LIsT." puthlp "PRIVMSG $nick :RuNNINg WiTH EggDrop v[lindex $version 0] PoWERED BY [lgrnd] $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