Well, you can always voice them when they join. Otherwise, you can use $nick($chan,%var,r) and loop through the nicklist that way. You can store each nick into a variable and put 6 at a time...
alias regvoice {
if (!$chan && !$1) { echo -a ERROR: You need to type this in a channel, or else include a channel with it. | return }
var %chan = $iif($chan,$chan,$1)
if ($me !isop %chan) { echo -a ERROR: You need to be an op in the channel. | return }
var %total = $nick(%chan,0,r)
var %cnt = 1
while (%cnt <= %total) {
var %voice = %voice $nick(%chan,%cnt,r)
if ($gettok(%voice,0,32) == 6) {
mode %chan +vvvvvv %voice
unset %voice
}
inc %cnt
}
if (%voice) {
mode %chan + $+ $str(v,$gettok(%voice,0,32)) %voice
}
}
Use:
/regvoice (typed in the channel)
/regvoice #channel (typed anywhere)
This will voice all regular users and will voice up to 6 at a time. That's usually the number allowed on most servers, I think.
Note that it is untested, but it should work.