Most likely the first check is your problem: //echo -a $regex(westor,/[a-zA-Z0-9]/gS)
[ and why the S-switch if you're checking nicknames
]
That aside, I doubt there's any reliable, automated check for drones - especially if based on nicknames only.
Advanced spammers will use "names lists" for nick, username and realname and avoid e.g. the obvious "<name>N"-pattern, or $rand(A,z)-based nicknames. Also note that with this code, you'd flood yourself off the net in case of a
serious drone attack, due to excessive /kick commands...