$nick(#, 0, o) returns the number of nicks in the nicklist, including only ops.
$str(@ $+ $chr(44), N) repeats the string "@," N times, which is the number of ops in this case.
$left(, -1) is used to eliminate the trailing comma.
The $regsubex() substitution finds every '@' (/@/g) and replaces it with $nick(#, \n, o), where \n is the match number.
To add a space between the nicks you would add a space to the end of the string being repeated in $str(). Space == $chr(32).
Then use $left(, -2) because now you have two characters trailing the final name.
The end result is $regsubex($left($str($+(@, $chr(44), $chr(32)), $nick(#, 0, o)), -2), /@/g, $nick(#, \n, o))
Users can type /mods already, or just click the viewer list...