Home

Awesome

Post-Unknown6 changes:

The current version of the bot currently requires the encrypt library. Hop on the #poketrainer slack to find out more.

Long story short, you need to make libencrypt.so or encrypt.dll by finding the c_code folder of one of the unknown6 repositories and running make clean; make. You then put the built files into the same folder as pokecli.py and run it with:

python pokecli.py -i ACCOUNT_INDEx -e YOUR_ENCRYPT_LIB_NAME_GOES_HERE.DLL.SO

Please do not sell the bot, or use it to sell accounts/power leveling or what have you. If you really can't help yourself from trying to make money on it, please donate a portion of your profits to Kiva.

To the people that have done so already (heard from quite a few already), thank you for making the world a better place.


DISCLAIMER: <del>this is super sketch and just a proof of concept</del> It's not that bad any more, but still, use at your own risk and I claim no credit or responsibility or what have you for parts of it.

For Contributions: Please open pull request to develop branch not master Thank you!

Don't be a dumbass too, Let's not ruin a good thing...


Build Status

Rename config.json.example to config.json

usage: pokecli.py [-h] [-i CONFIG_INDEX] [-l LOCATION] [-e ENCRYPT_LIB] [-d]

optional arguments:
  -h, --help            show this help message and exit
  -i CONFIG_INDEX, --config_index CONFIG_INDEX
                        Index of account in config.json
  -l LOCATION, --location LOCATION
                        Location
  -e ENCRYPT_LIB, --encrypt-lib ENCRYPT_LIB
                        encrypt lib, libencrypt.so/encrypt.dll
  -d, --debug           Debug Mode

Web UI


Configuration

Copy config.json.example to config.json and change your account information. Below the accounts you can change options in the default section. If you need to change some options for an individual account, you can copy them to the account section and modify as needed.

Configuration options (non-exhaustive)

There are more options, check the current config.json.example, many are self-explanatory.

Find out Item ID's

For Chosing what Items to keep, get the names here, AeonLucidProtos_ItemID For Choosing what pokemon to keep get the names here,AeonLucidProtos_Pokemon

Put them in config. Type exactly as the name appears

Requirements

Python 2 vs 3

Although this project was originally built for Python 2.7, we have recently added support for Python 3.5. However, our tools that allow web.py to talk with pokecli.py currently require them to run on the same version of Python. So, if you choose to use Python 3 for one of them, you must use it for both of them (and vice versa for Python 2).

keeping the code clean

If you make changes to the Python code, please use tox to run flake8 and isort checks against the code. If you see any errors, please fix them before opening a pull request.

To run tox, just install the package and run the tox command from the root directory of the project. tox will automatically install flake8 and isort packages into a virtual environment as needed when it runs.

pip install tox
tox

If you are not updating the Python code, you do not need to install or use tox.

pokecli with Docker (optional)

Build and run container:

cd poketrainer/
docker build -t pokecli .
docker run -ti --name poketrainer -v /path/to/poketrainer/config.json:/config.json -p 5000:5000 pokecli -i 0

The name option, poketrainer in the example, is arbirary. Multilple containers can be made using different names. -v maps the config file into the container. You can modify config.json and it will be reread when the container is started, no need to recreate the container or rebuild the image. -p maps the web interface to the external network, so you can check on the status of your training from a different machine. If you choose not to map the port, the ip address of the container can be found using docker inspect poketrainer.

The container is now running in the foregorund, and can be stopped by using Ctrl+C. The container can be detached using the sequence Ctrl+p Ctrl+q. To stop a container running in the background, run docker stop poketrainer and restart it using docker start poketrainer. This will start the docker container in the background, attach to it using 'docker attach poketrainer`.

You can create an alias for this by adding alias pokecli='docker start poketrainer && docker attach poketrainer' to ~/.bashrc.

What's working:

What's working:


Join slack channel:

To ask question related to api and general help, join Pokemon Go Reverse Engineering Slack team.

Credits

super sketch but yolo