Require passkey to enter chatrooms.

I know there's some meta-programming in here ands its :-1: but i don't see a way around it. Let me know if there is!
is the purpose of this to return a passkey object, or to *do* something? if so, this should be named better