I've thought of just implementing a bunch of different options. I think the solution to bots is to either have some associated cost (whether monetary or effort), or some obstacle like manual email verification.
* hashcash-verification
* manual email-based signup
* domain-based verification
* an ancap dystopia where every query costs an infinitesimal amount of cryptocurrrency
* dunno what else there is, probably more creative solutions