Sorry for the late reply - been busy
The first issue may indeed occur if a user is only changing the "case" of his nickname (e.g. "xelent" -> "XeLenT").
Fix: at the line
alias -l nickreg { return $+(/(?<=^|\s)\Q,$replacexcs($1,\E,\E\\E\Q),\E(?=$|\s),/i) }
remove that "i"-char left of the final round closing bracket.
Having run some tests with four clients, I wasn't able to reproduce the second issue though.
However, you should be able to play safe with the following modification: while invalid entries shouldn't appear in the queue at all, it will "skip" invalid nicknames in the queue (remove them from queue and continue with next nick).
Change this event:
on @admin:TEXT:!next:$($next.chans): {
if ($hget($ht,$chan)) { mode $chan +v $gettok($v1,1,32) }
else { $next.info $nick Help queue of $chan is empty. }
}
To:
on @admin:TEXT:!next:$($next.chans): {
:next
if ($hget($ht,$chan)) {
if ($gettok($v1,1,32) ison $chan) && ($v1 !isvoice $chan) { mode $v2 +v $v1 }
else { hadd $ht $chan $gettok($hget($ht,$chan),2-,32) | goto next }
}
else { $next.info $nick Help queue of $chan is empty. }
}