TCL Random Version
TCL
Download (.zip)
# Randversion by Teemu Hjelt <temex@iki.fi>
### General Settings ###
## Use what versions? # NAME DESCRIPTION # ------- ---------------- # eggdrop Eggdrop versions # misc Misc versions # ircii ircII versions # bitchx BitchX versions # mirc mIRC versions # all All versions set rv_style "all"
## What users can use rvstyle command? set rv_flag "n"
### Flood Protection Settings ###
## [0/1] Do you want to enable the flood protection? # Note: This only protects your bot from ctcp-finger flood. set rv_fludprot 1
## Answer how many ctcp-fingers in how many seconds? set rv_maxctcps 2:40
## [0/1] Do you want to ignore the flooder? set rv_ignore 0
## How long do you want to ignore the flooder (min)? set rv_ignoretime 10
## The users with one of the following flags shouldn't be ignored. # Note: Leave this empty if you want to ignore everybody. set rv_flags "m n o"
set rv_ver "2.00" set rv_maxctcps [split $rv_maxctcps :] set rv_style [string tolower $rv_style]
## mIRC versions. set rv_desc(mirc) "mIRC" set rv_versions(mirc) { "mIRC32 v2.1a K.Mardam-Bey" "mIRC32 v2.3a K.Mardam-Bey" "mIRC32 v2.4a K.Mardam-Bey" "mIRC32 v2.5a K.Mardam-Bey" "mIRC32 v2.6b K.Mardam-Bey" "mIRC32 v2.7a K.Mardam-Bey" "mIRC32 v2.8b K.Mardam-Bey" "mIRC32 v2.8c K.Mardam-Bey" "mIRC32 v3.1 K.Mardam-Bey" "mIRC32 v3.2 K.Mardam-Bey" "mIRC32 v3.3 K.Mardam-Bey" "mIRC32 v3.4 K.Mardam-Bey" "mIRC32 v3.42 K.Mardam-Bey" "mIRC32 v3.5 K.Mardam-Bey" "mIRC32 v3.51 K.Mardam-Bey" "mIRC32 v3.6 K.Mardam-Bey" "mIRC32 v3.64 K.Mardam-Bey" "mIRC32 v3.7 K.Mardam-Bey" "mIRC32 v3.72 K.Mardam-Bey" "mIRC32 v3.8 K.Mardam-Bey" "mIRC32 v3.9 K.Mardam-Bey" "mIRC32 v3.92 K.Mardam-Bey" "mIRC32 v4.0 K.Mardam-Bey" "mIRC32 v4.1 K.Mardam-Bey" "mIRC32 v4.5 K.Mardam-Bey" "mIRC32 v4.52 K.Mardam-Bey" "mIRC32 v4.6 K.Mardam-Bey" "mIRC32 v4.7 K.Mardam-Bey" "mIRC32 v4.72 K.Mardam-Bey" "mIRC32 v5.0 K.Mardam-Bey" "mIRC32 v5.02 K.Mardam-Bey" "mIRC32 v5.1 K.Mardam-Bey" "mIRC32 v5.11 K.Mardam-Bey" "mIRC32 v5.3 K.Mardam-Bey" "mIRC32 v5.31 K.Mardam-Bey" "mIRC32 v5.4 K.Mardam-Bey" "mIRC32 v5.41 K.Mardam-Bey" "mIRC32 v5.5 K.Mardam-Bey" "mIRC32 v5.51 K.Mardam-Bey" "mIRC32 v5.6 K.Mardam-Bey" "mIRC32 v5.61 K.Mardam-Bey" "mIRC32 v5.7 K.Mardam-Bey" "mIRC32 v5.71 K.Mardam-Bey" }
## ircII versions. set rv_desc(ircii) "ircII" set rv_versions(ircii) { "ircII 2.9_roof Linux 2.0.35 :debian-ircii 2.9: This is It." "ircII 2.8.2 Linux 2.0.35 :ircii 2.8: almost there..." "ircII 2.9_roof Linux 2.0.35 :Rhz v2.0 by Mason." "ircII 2.9_base Linux 2.0.35 :this is a bug free client. honest" "ircII 2.8.2-EPIC4pre0.038 Linux 2.0.35 - All the things phone wont include....." "ircII EPIC4pre2.001-NR7 Linux 2.0.35 - (can we scratch beneath this?)" "ircII 2.8.2-EPIC3.004 *IX - Version allowed only with Pass.. :-P" "ircII 4.4 IRIX 6.2 :ircii 2.9: AT&T you will (ojnk!)" "ircII 2.8.2 IRIX64 6.4 :SrfRoG's LiCe v2.6.3" "ircII 4.4 Linux 2.0.35 :SrfRoG's LiCe v2.5.2+Beta" "ircII 2.9beta2 Linux 2.0.35 : Using TinyIrcrc v5.34 (13.8.1997) by Tommi \[Hazor\] Lahtonen " "ircII 2.9alpha6 + ScrollZ v1.8e5 (27.3.97) by Flier + Cdcc v1.5 - Accept no limits!" "ircII 4.4A+ScrollZ v1.8i2/Public (12.09.98)+Cdcc v1.7 - Feel the power!" "ircII 4.4+ScrollZ v1.8h3 (31.03.98)+Cdcc v1.6 - storm\[sz\]" "ircII 4.4A+ScrollZ v1.8i2/Public (12.09.98)+Cdcc v1.7 - \[tantan.sz 0.4\]" "ircII 2.9alpha8+ScrollZ v1.8g1/public (31.8.97) by Flier + Cdcc v1.5 - delusion by scorpi0n (06/19/98)" }
## BitchX versions. set rv_desc(bitchx) "BitchX" set rv_versions(bitchx) { "BitchX-75+Tcl1.5 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p1+Tcl1.5 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p2-9+Tcl1.6 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p2-10+Tcl1.6 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p2+Tcl2.0 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p3+Tcl2.0 by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-74p4+ by panasync - Linux 2.0.34 : Keep it to yourself!" "BitchX-75p1+ by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-75p3+ by panasync - Linux 2.0.36 : Keep it to yourself!" "BitchX-74p2+ by panasync - Linux 2.0.35 : Keep it to yourself!" "BitchX-74p1+Tcl1.3f by panasync - Linux 2.0.35 : Keep it to yourself!" "BitchX-75p1 by panasync - Linux 2.0.35 + win.irc v1.2.2 - by reflux : Keep it to yourself!" "BitchX-72p1+Tcl1.1/Linux 2.0.35 : (c)rackrockb/bX \[3.0.1á1\] : Keep it to yourself!" "BitchX-74a9/Linux 2.0.35 Tcl:(c)rackrock/bX\[3.0.1á2\] : Keep it to yourself!" "BitchX-74p1+Tcl1.3f by panasync - Linux 2.0.35 : Keep it to yourself!" "BitchX-74p4+1.3g/Linux 2.0.35 :(c)rackrock/bX \[3.0.1á9\] : Keep it to yourself!" "BitchX-75p2-8+ by panasync - CYGWIN32_NT 4.0 : Keep it to yourself!" "BitchX-75p1+ by panasync - CYGWIN32_95 4.0 : Keep it to yourself!" }
## Misc versions. set rv_desc(misc) "Misc" set rv_versions(misc) { "cypress.01d -forced- / bitchx-75p1 :insane in the membrane" "#@!<( BitchX-75p1+ by panasync ) / ( hydroIRC 1.4-3 by hornet / hydrogen)>!@# -//- :=-" "bitchx-74p1 + tunnelvision/1.2" "(ScrollZ\[v1.8h3\], sZ/oS\[0.9i2\], Linux\[2.0.35\])" "\[DyNaMiRc\] (v3.7) http://www.nonsolokick.com/data.htm" "In Command of VeNoM v2.01 by Dethnite" "core:dump 0.054i+p4 by guppy" "\[AtlantiS(v1.3a)\] by Dethnite" "KoiRa v. 5.38 ircII script by Terror Software" "Running Phoenix v2.27 by Vassago with Fluff Mods v1.8.6" "\[Decade v1.63 by drwit\] - she is me" "(%SmUrF%) v1.1.3-(B-Fixed) by ZaNaGa?" "(%schlong%) v2.4a by openface?" "(%schlong%) v2.2c by openface?" "perplex\[2.01!erawtic\] perplex" "(ircle 3.0b) Millennivm 2:0 (chemlab)" "Ircle 3.0b9 US PPC 09/21/1997 20:06:29 PM. #9???????" "PIRCH32:WIN 95/WIN NT:Beta Version 0.92:97.01.11" "PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1187)" "XiRCON 1.0B4" "Running Visual IRC '97 1.00. Get your copy today!! http://www.megalith.co.uk/virc" "Running Visual IRC '97 1.00almost-final3c. Get your copy today!! http://www.megalith.co.uk/virc" "AmIRC/AmigaOS 2.0 by Oliver Wagner <owagner@vapor.com> : http://www.vapor.com/ : \[#000000D0\] : This space for rent. Mail <ads@vapor.com> for more info." "Microsoft Chat 2.5 (4.71.2302) (comics mode)" "Microsoft Chat 2.1a (4.71.2201) (comics mode)" "Zircon 1.18 Pl: 187 *IX : tcl 8.0 tk 8.0" "Running KVirc 0.8.0 by Szymon 'Pragma@rv_ircnet' Stefanek <kvirc@tin.it> No script" }
### Bindings ###
bind ctcp - VERSION ctcp:rv_version bind dcc $rv_flag rvstyle dcc:rv_rvstyle
### Procs ###
proc dcc:rv_rvstyle {hand idx arg} { global rv_style rv_desc rv_versions set style [lindex [split $arg] 0] putcmdlog "#$hand# rvstyle $arg" if {$style == ""} { putidx $idx "Currently using: $rv_desc($rv_style) versions" putidx $idx "To get help, type: rvstyle -help" } elseif {[string tolower $style] == "-help"} { putidx $idx "NAME DESCRIPTION" putidx $idx "------- ----------------" foreach name [array names rv_versions] { putidx $idx "[format "%-8s %s" $name "$rv_desc($name) versions"]" } putidx $idx "To change the version-reply list, type: rvstyle <name>" } elseif {[lsearch -exact [array names rv_versions] [string tolower $style]] == -1} { putidx $idx "Version-reply list '$style' is invalid." } else { set rv_style [string tolower $style] putidx $idx "Version-reply list changed to: $rv_desc($rv_style) versions" } }
proc ctcp:rv_version {nick uhost hand dest key arg} { global rv_versions rv_style rv_fludprot rv_maxctcps rv_ignore rv_ignoretime rv_flags rv_flooded rv_ctcpcount set hostmask "*!*[string range $uhost [string first "@" $uhost] end]" if {$rv_fludprot} { if {![info exists rv_ctcpcount]} { set rv_ctcpcount 0 } if {![info exists rv_flooded]} { set rv_flooded 0 } if {$rv_flooded} { return 1 } incr rv_ctcpcount utimer [lindex $rv_maxctcps 1] "incr rv_ctcpcount -1" if {$rv_ctcpcount > [lindex $rv_maxctcps 0]} { utimer [lindex $rv_maxctcps 1] "set rv_flooded 0" set rv_flooded 1 putlog "randversion: Blocking ctcp-versions for [lindex $rv_maxctcps 1] seconds." if {$rv_ignore} { foreach flag $rv_flags { if {[matchattr $hand $flag]} { return 1 } } if {![isignore $hostmask]} { newignore $hostmask $botnick "ctcp-version flood" $rv_ignoretime putlog "randversion: Ignoring $hostmask for ctcp-version flood for $rv_ignoretime mins." } } return 1 } } putserv "NOTICE $nick :\001VERSION [lindex $rv_versions($rv_style) [rand [llength $rv_versions($rv_style)]]]\001" return 1 }
proc rv_setversions { } { global rv_desc rv_versions rv_style set rv_desc(eggdrop) "Eggdrop" set rv_versions(eggdrop) "" for {set i 0} {$i <= 28} {incr i} { lappend rv_versions(eggdrop) "eggdrop v1.3.${i}" } for {set i 0} {$i <= 4} {incr i} { lappend rv_versions(eggdrop) "eggdrop v1.4.${i}" }
set rv_desc(all) "All" set rv_versions(all) "" foreach name [array names rv_versions] { if {[string tolower $name] != "all"} { foreach version $rv_versions($name) { lappend rv_versions(all) $version } } }
if {[lsearch -exact [array names rv_versions] $rv_style] == -1} { return 0 } else { return 1 } } putlog "TCL loaded: randversion.tcl v$rv_ver by Sup <temex@iki.fi>" if {[rv_setversions]} { putlog " - Versions: $rv_desc($rv_style) versions" } else { putlog " - Versions: $rv_desc(all) versions (because '$rv_style' is invalid)" set rv_style "all" } if {$rv_fludprot} { putlog " - Flood Protection: enabled. (Answering to [lindex $rv_maxctcps 0] ctcps in [lindex $rv_maxctcps 1] seconds)" } else { putlog " - Flood Protection: disbaled." }
|