To put the least load on the server, I suggest to use the /who command (flag "r" in usermodes token).
- /who the channel once after you (or the bot) joined, parse the raw replies and store the registration status of all nicks to a distinct hash table
- use all the respective events to keept the hash table data up to date (remove nicks on part/quit/kick/nickchange; who-and-add new nicknames on join/nickchange)
- note that no such approach will ever be without flaw: the user may always register/drop/ns logout his current nick... but it's as close as you can get without *massive* overhead.