Just a little refinement on the regex suggestion:
on @$*:text:/^[!.@](un)?(green)$/Si:#:{ mode # $iif($regml(1) = un,-,+) $+ v $nick .msg # $iif($regml(1) = un,Th,he) $+ ere ya go, $nick }