IMO just block messages at the relay level (paid relay with auth) unless the user follows them... IMO, out of the blue DMs are never honest, it's always fine if you have already followed them
possibly web of trust could open that a little wider by possibly allowing follows of your follows to message you as well
i'm thinking about how to do this, for now it's not implemented
IMO it's better to control this traffic at the relay level than the client level
i also intend to make it so automatically queries have muted npubs removed from results since client devs seem to be loath to allow users to completely hide muted events