Pokemon GO Command Line Java Bot
Pokemon GO walking/sniping bot using the PokeGOAPI Java library
This bot currently does the following:
- Auto evolves the highest CP Pokemon
- Auto transfers the lowest ranked Pokemon (under a specified CP value)
- Can walk at the right speed to hatch eggs
- Walks from Pokestop to Pokestop looting and catching along the way
- Can get from Level 0 to Level 10 in about 45 minutes. Level 20 in about 3ish hours.
- Sniper mode can teleport to a specific location for a specific Pokemon and complete the catch back where you want it to prevent soft bans
- Soft ban spin fix: Attempts to macro the Pokestop open/spin/close repeat steps until the account unlocks.
- Java 1.8
These submodules will be initialized in the
- Clone this repository
- Change to this root directory
- Initialize the submodules with
git submodule update --init --recursive
- Build with gradle
This will give you an executable jar in the
build/libs directory and you'll be ready to go botting!
You must place a
pokebot.properties file in the same folder as the executable jar you can store a number of default
# REQUIRED pokebot.maps.key=<YOUR GOOGLE MAPS API KEY> # OPTIONAL pokebot.auth.username=<PTC AUTH USERNAME> pokebot.auth.password=<PTC AUTH PASSWORD> pokebot.auth.provider=<PTC or GOOGLE> pokebot.defaults.origin=<LATITUDE>,<LONGITUDE>
Command Line Parameters
If you run the jar with the
-h flag it will output all the available options.
All of these can be configured in the
pokebot.properties file and do not require being entered at the command line
||Login provider to use||
Bot Mode Parameters
|Mode||Description||Add'l Required Parameters|
||This is the default mode, simply having no other mode will enable this.||None|
||Teleports to the destination to capture a rare Pokemon||
||Attempts to use the spin fix method of releasing a soft ban.||None|
||Will run to the nearest Gym and attempt to take it over. This is still in development and really just does not work at the moment||None (yet)|
lng can be put in the
pokebot.properties file if you always want your bot to start at the same place
||Bot's starting latitude||
||Bot's starting longitude||
||The destination or target latitude to use for various modes (like Sniping)||
||The destination or target longitude to use for various modes (like Sniping)||
All Other Parameters
||Perform heartbeat every
||Maximum CP value to auto transfer (Pokemon with CP above this value will be kept)||
||Auto-evolve Pokemon when possible||
||Attempt to fight at nearby Gyms while walking||
||Size of each bot 'step' in meters||
||Auto-transfer Pokemon under
||Use walking speed to enable egg hatching, slows the bot down to not exceed roughly 2 m/s||
||Enables debug mode||
||The family name (like
# With no default username or password java -jar pgojbot.jar -lat "45.518502" -lng "-122.682156" -l PTC -u "username" -p "password"
# With a default username and password in the properties file java -jar pgojbot.jar -lat "45.518502" -lng "-122.682156"
# Wandering with Google Login java -jar pgojbot.jar -lat "45.518502" -lng "-122.682156" -l GOOGLE
# Walking speed, auto transfer, evolve, and fight in debug mode java -jar pgojbot.jar -lat "45.518502" -lng "-122.682156" -x -w -e -f -t
# Sniping an Eevee with default login options and origin set in properties file java -jar pgojbot.jar -snipe -dest-lat "45.474577292898935" -dest-lng "-122.64651775360109" -pokemon "EEVEE"
Configuration / Performance Tips
Travel Speed / Walking Speed
The faster the bot travels, the faster the bot can earn XP. However, the faster you travel the more likely your bot is
to run into a ban of some sort. If the bot travels too fast it can't tally up the distance needed to hatch eggs. Using
-w flag forces the bot to keep it at a walking speed as much as possible.
Using the properties file
If you intend to just run a single account you should really just fill out all the fields in the
pokebot.propertiesfile to save the keystrokes.