In a recent video, Asmongold said the only way to stop bots in games is to do what South Korea does: require government-issued ID to create an account.
He's wrong. There's another way.
#CityOfHeroes is older than WoW and has NEVER had bots. Why? Because Influence (in-game currency) is easy to get. Players have no reason to pay a third party for it. Thus, no bots.
Blizzard makes money charging players for gold and charging bots for their account, so they have no incentive to stop bots.