Ok, well let me know if you want something added or changed. Like I said, most hash table stuff is easy to modify when you know how to use them. Learning them can be confusing at first, but they are very powerful when you know them.
BTW, I updated it above... I forgot to change some things after adding !whoset support. If you tried the above code, you'd have noticed the nick appearing where it shouldn't. That's fixed now.