it's basically replicating the IRC protocol with nostr, in case that isn't clear
messages are cached in a thing like a chanserv, and access to a given chatroom is controlled by a list created by the channel owner, which controls which npubs can access the data in the chanserv
i haven't done much more thinking about it since i wrote that