It appears that Niantic is now using heuristics and batch processing for accumulated data to identify bots (and doing a much better job sadly enough). Of course they are not saying what behavior they are using to identify bots but from my limited experience it seems to be based on collection behavior. My guess (from what I would do if I was trying to use heuristics to identify bots) is that they are using the auto-drop behavior. No bot can collect for long without auto-dropping and the current auto-bot behavior is very predictable and not human-like.

My suggestion is add two thresholds. A high threshold for the Item inventory such as 95% such that no items are dropped unless the item inventory is more than 95% full. Dropping will then proceed until the inventory is below the low threshold (perhaps 90%). There could also be a random percentage (perhaps 5%) applied to the high and low threshold on each use. If the inventory is ever 100% full and a pokestop rejects, that immediately starts an auto-drop sequence to the low threshold. I implemented such a threshold system in the open source PokemonGoBot before it ceased working. It was quite simple and is not worth sharing.

The other addition that would make auto drop more human like is grouping potions, revives and pokeballs. If the user selects to group potions, then it will always drop the lesser potion before dropping the higher. If I have specified 10 potions and 10 super potions with grouping and there are 12 potions and 14 super potions, then it will drop 6 potions so that the total of these potions is still 20, but it keeps the better. That was previously implemented in PokemonGoBot (may it rest in peace) and was surprisingly simple due to the internal naming of the items (they naturally fall into groups by name and the ordering is implicit in the index). There also could be a random factor of one or two items when dropping grouped items to model human behavior (I never get the totals just right, but do have general ballparks).

With those options the bot behavior when auto dropping would be so human like they would have to collect other data for their heuristics and it would be a lot harder to identify the bots.

(06-11-2017, 09:05 PM)brianpcarr Wrote: On reflection, there should be a random factor of 5% or so items when dropping grouped items to model human behavior so that the bot wouldn't drop 23 potions out of 63 total at once (always to the same exact total) but instead 21 to 25. As a human, I never get the totals just right, but do have general ballparks. The previous recommendation of one or two items makes no sense for evolution upgrades where may only keep one or two and always get the drop exactly right.