A wild Python appeared, and it wants to play Pokemon Go. Python bots are taking over the game when you can’t, and they are good. Since you’re likely to bump into one sooner or later, here’s an overview:
One of the first workable bots and the origin of a lot of (dirty) code, as well as the (not dirty at all) Pokemon Trainer Club client secret, is [Mila432’s] Pokemon Go Bot. One of his initial goals was to make better sense of the API, which worked out better than he hoped.
Not wanting to impetuously destroy the numerous helpful applications that had been built upon the already partially known API, he decided to keep the project off Niantic’s radar. The most recent (and most powerful) version of his bot has not been released. The current version works fine within its limited functionality: Wandering around and looting Pokestops.
Elsewhere, [Mila432’s] API code was cleaned up and restructured, but what remained is mostly the PTC client secret and understanding of the API. In particular, [tejado’s] API code base and [AeonLucid’s] protocol buffer, inspired a few new bot projects. Among them [Ruben Vereecken’s] API and demo bot, which could handle more of the basic functionalities, such as catching Pokemon. It’s bot routine wanders around, loots and catches everything it can find (if uncommented from the demonstration code).
Eventually, the most advanced Python bot we have encountered so far is an uber-bot by [PokemonGoF]. This bot does not only implement all known API functions but also use them strategically. The highly configurable bot can be set up to keep only certain Pokemon with certain stats, trading the rest in for candy. It also can evolve Pokemon, incubate eggs and features a “human behavior” – a ban prevention trick that adds a certain randomness to its actions. It even shows what it’s doing on a map, as you can see in the header animation.
Human behavior or not, all of them have one thing in common: After a day of usage, they leave our test accounts bursting with items, Pokemon and XP, although the accounts are still fully workable. No bans, all fine. It is actually pretty devastating. Try at your own risk, though, or even better: Let us know how human players can defeat an army of bots in the comments!