agreed phil. with your last text event, I thought it was giving them ops and other status as that. So I was thinking you would need a
On :text::#:{
if ($nick isreg # || $nick isvoice #) { halt }
else {
[rest of script]
}
}
So that regular and voiced users can't give themselfs op, or half-op, admin, owner status. but I relooked at it, and it explains it I guess.