This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.
For more information, see this announcement post . Click the X in the top right-corner of this box to dismiss this message.
Help for those learning Tcl or writing their own scripts.
MacDaddy
Voice
Posts: 9 Joined: Fri Jan 20, 2006 4:41 pm
Post
by MacDaddy » Fri Jan 20, 2006 4:47 pm
hey all i got a mIRC script that i use and i tryed to convert it into tcl
this is the mirc scrpt.
Code: Select all
ON !*:JOIN:#: {
ctcp $nick version
}
ON *:CTCPREPLY:VERSION*: {
if (!$window(@version)) window -ne @version
aline @version $nick $1-
if (*version here* iswm $1-) {
/notice $nick $nick message here
}
}
and this is what i have for tcl.
Code: Select all
bind join - * verjoin
proc verjoin {nick uhost hand chan} {
if {([onchan $nick $chan]) && ("[getchanhost $nick $chan]" == "$uhost")} {
if {([string match -nocase *version here* $nick])} {
putserv "NOTICE $nick message here"
}
}
}
i dont get any errors and i dont send the notice can anyone help ?
thanks
Sir_Fz
Revered One
Posts: 3794 Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:
Post
by Sir_Fz » Fri Jan 20, 2006 7:04 pm
Code: Select all
bind ctcr - VERSION version:reply
bind join - * check:version
proc check:version {nick uhost hand chan} {
global cversion
set cversion([string tolower $nick]) 1
putserv "privmsg $nick :\001VERSION\001"
}
proc version:reply {nick uhost hand dest kw arg} {
global cversion
if {[isbotnick $dest] && [info exists cversion([string tolower $nick])]} {
if {[string match -nocase "*version here*" $arg]} {
puthelp "notice $nick :message here"
unset cversion([string tolower $nick])
}
}
}
MacDaddy
Voice
Posts: 9 Joined: Fri Jan 20, 2006 4:41 pm
Post
by MacDaddy » Fri Jan 20, 2006 11:22 pm
Sir_Fz thanks testing it now ok that works well is there a way of putting the
Code: Select all
if {[string match -nocase "*version*" $arg]} {
into more than one version like
Code: Select all
if {[string match -nocase "*version1*" $arg] || [string match -nocase "*version2*" $arg]} {
and so on add ing versions like that ?
thanks
Sir_Fz
Revered One
Posts: 3794 Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:
Post
by Sir_Fz » Sat Jan 21, 2006 6:30 am
Yes, try it. Or you can do it like this:
Code: Select all
set bversions {"*version1*" "*version2*" "*version3*"}
foreach bversion $bversions {
if {[string match -nocase $version $arg]} {
# found match for one of the bad versions
break
}
}
MacDaddy
Voice
Posts: 9 Joined: Fri Jan 20, 2006 4:41 pm
Post
by MacDaddy » Sat Jan 21, 2006 9:52 am
thanks Sir_Fz works perfect