#check on join:
bind join - * voice_on_joined
#procedere on join:
proc voice_on_joined {nick host handle channel} {
#set the name of your chanserv. just "chanserv" won't work.
set chanserv "chanserv@services.gamesurge.net"
#set the channel in which the user will be voiced. $channel will be all
set voicechannel "#Quiz.de"
#setting criteria
set criteria "\[Clan\]"
if {![regexp -nocase -- $nick $criteria] || $channel != $voicechannel} {
#if nick won't match the criteria or nick doesnt join the right channel the script will halt
return
}
#sending voice-command to chanserv
putquick "PRIVMSG $chanserv :$channel voice $nick"
}
if {![string match [join [lrange [split $nick] 0 5]] $criteria] || $channel != $voicechannel} {
This is actually closer to $left's function in mirc/basic.
But all this is actually irrelevant, as using eggdrops "built-in" capability (aka, Alchera's suggestion) to do this supersedes in both speed and function the equivalent in a tcl script.
Alchera most likely meant to use .+host [Clan] [Clan]*!*@* as well. So any person using the [clan] prefix on their nickname would be voiced and match the entry.