Detecting bots with temporal logic