@zscole and I recently had a discussion about a problem we often encounter when creating group chats. It is often the case that when creating a group chat someone inevitably adds someone who then adds other random people. This can be very annoying for certain chats. It would be interesting to have a group chat type where users only get added in when a majority of the existing members have approved a vote to add the new member to a group chat. This may be able to reduce the clutter often experienced in various group chats.
Totally agree with this. I already proposed using a governance tool with SNT voting for public chats configurations (can we have a MTOD?).
The group chat governance could be a simple multisig or something else more advanced, such as based on Topic Democracy. Topic Democracy is being created for carbon based SNT governance, however it could be too much for what group chat needs. So using Topic Democracy for a custom user democracy should be possible, but the use case of this is to control other systems and assets in-chain.
For the sake of simple approving the Group Chat actions, it could be possible to do all off-chain, the voting can happen as messages inside the group chat, which would be understood by all clients and once the action is approved, all the clients would reflect it.
The difference is that the group chat would change not when an admin send a command, but when the command is approved by majority (or whatever are the quorum rules).