alias getmodes {
var %param = 2, %m = 1
while (%m <= $len($gettok($1, 1, 32))) {
var %chr = $mid($gettok($1, 1, 32), %m, 1)
if (%chr isin +-) var %mod = %chr
else {
if ((%chr isincs $remove($gettok($chanmodes,1-3,44),$chr(44))) || (%chr isincs qaohv)) {
var %modes = $addtok(%modes, $+(%mod,%chr,:,$gettok($1, %param, 32)), 32)
/inc %param
}
else var %modes = $addtok(%modes, $+(%mod,%chr), 32)
}
/inc %m
}
return %modes
}
on *:RAWMODE:#: {
var %modes = $getmodes($1-)
if ($wildtok(%modes, +a:*, 1, 32)) {
var %nick = $gettok($ifmatch, 2, $asc(:))
; use %nick instead of $2-, and viola
}
}