/pogobot

By now this is a IV calculator tool.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

PogoBot

Note
Using third party application is against the term of service of Niantic’s Pokemon GO game. This entire project is created only for educational purpose and it depends on others' works to fetch data from the game. There is the possibility that those project change or will be closed. We are not developing them and we are not responsible fot that.

Introduction

We are two pokémon fans, we are two Pokémon Go players, we are two software developers, we are two open source fans. The aim of this project is to create something that can (but should not) be used by Pokémon Go player in order to improve their game experience. Of course the final goal is to be the definitive Bot, in a first moment it will be just a bunch of useful tools.

Why a bot

I hate cheaters but there will be days during which new player will have a hard life against capped top players all around. Is this an excuse? Maybe it is, the main point is that we might be able to create a bot, and it’s the challenge that we like. Nothing else. For real.

Using a bot

If you are asking us if we have ever used a bot the answer is no. What’s the point in using a bot, when each and every other player that see a 30+ level trainer know that is a bot? You can’t show them 'your' pokemons. Of course they know you didn’t catch them. You can’t show them 'your' level. Of course they know that is the result of a bot being online 24/7. You can’t show them 'your' pokedex. Everyone is able to catch an african-only Kangaskan while being on his sofa.

The problem is that someone do.

And the only way to beat a Bot is to use a Bot (if for some strange reason you would like to beat it).

Please, remember, if you use a bot that is unfair. Someone on his bike on top of a mountain far away in the desert at 40° will be quite upset if you steal his emptied gym - if you’re not beside him.

That is one of the worst feeling, and of course will earn you a direct report to Niantic.

Don’t be smartass. Play fair, or instead play LOL, there you can Bot as much as you can, as I don’t play it.

For the sake of "I CAN"

I will never be done in saying that this project is not created just to allow strangers to cheat at the game, and it is created for educational purpose. I am developing this just because I think I can. And for me it’s enough. There will be instruction, maybe detailed wiki and so on. But I will never help anybody. If you want to cheat you should have enough knowledge to cheat. Or you don’t deserve to be a cheater.

The team

At the moment the team is composed by myself and my friend Alberto. I admire him for it is developing fighting against a strong backache.

Technologies

Here there will be listed all the technologies used to create the bot.

The backend is created entirely in javascript, and is runned on NodeJS. The frontend is developed with AngularJS 1.5, using grunt and bower to manage dependency and project workflow.

Features

IV calculator

Warning
This is likely to be not legal for Niantic and because it uses your account to fetch the data needed it might led to a ban. Use at your own risk. The team can’t be responsible for your loss. Doing anything of the following guide state that you agree with this. Every information (username or password) will not be stored anywhere in our systems. The team is using che calculator itself, no ban are yet been given to our accounts.

The IV calculator is a tool that can read the list of all your pokemon from your account and return a single precise IV value for each of them. The tool features will be:

[x] Fetch the list of pokemons from an account (PTC and Google)
[x] Calculate the IV (attack, defense and stamina) for each pokemon
[ ] Store the data in the DB for offline browsing
[x] Order the result by id, name, CP or IV

Gym Controller

This feature is 100% safe to be used, because it uses a dummy account that is in no way related to your main account.

The Gym Controller is a tool that allows you to keep track of the gyms in a city, you will receive different informations for each Gym that you can use to improve your 'Gym Taking' and 'Gym Leading'.

[X] Walk around in a chosen loop
[X] Fetch Gyms simple data (team, points and level)
[X] Fetch Gym Leader data (pokemon, nickname, level)
[ ] Fetch all pokemon data (CP, IV and attacks)
[ ] Fetch real time data (is in combat, is being trained or beated)
[ ] Keep white (BOT)
[ ] Keep chosen color (BOT)
[ ] Automatic Train (BOT)
[ ] Loop selection
[ ] Multi-user Bot with managing features

Installation and run

To run the application on your laptop there are a variety of pre-requisite that you need to fulfill.

Operative System

This guide is intended for OSX users (Apple) or Linux users (teste on Ubuntu14 and Centos7). Sorry windows users, your days are over, you will need to figure yourself how to deal with this configuration.

GIT

The project is of course on GitHub, so you will need to install Git on your machine. Apple users will thank Steve, for the Mac is shipped with Git pre-installed. In linux you can use apt-get (or yum or similar) like this:

sudo apt-get install git

Once Git is installed, running this:

git --version

will return something like:

git version 1.8.3.1

NodeJS

The project is developed in javascript and uses the framework nodejs both to run the code and to manage dependencies (with node package manager - npm). To install node (on linux) run this:

sudo apt-get install nodejs
sudo apt-get install npm

and if you run node -v && npm -v you should get something like:

v4.4.7
2.15.8

for MacOSX users you can follow one of the hundreds of guide available in the net like this: Guide or just go to the official site NodeJS and install it with the installer.

Downloading the code

Now you are ready to start, you will need to copy the project in your machine. Open a terminal, navigate to the folder that you like the project to be in (use cd to change dirs, mkdir to create new folders).In my case I will put the project inside my Documents folder like this:

cd ~/Documents

Then, to clone the repository run:

git clone https://github.com/kevinpirola/pogobot.git

and wait the end. Once finished git should have added a folder called pogobot/ inside your starting folder. To check just list the files with ls.

The project is changing hours by ours, to keep your code up-to-date just run:

git pull origin master

At the moment there are two main branches, master where you can find the current release and develop that is the branch we use to pre-release code.

Installing the dependencies

When you have cloned the repository navigate to the root folder (for example cd ~/Documents/pogobot/) and run:

npm install

To run the frontend you will need grunt:

npm install -g grunt-cli

and bower

npm install -g bower

To run a server to test the code just run:

grunt serve

to build the app:

grunt build

Run

To run the IV calculator you have to type:

node runbot.js -u yourUsername -p yourPassword

You can also use various dependencies like: * -a to specify the login method (it can be either ptc or google) * -o to specify how you want the list of pokemon to be ordered (ab: alphabetically, IV: by IV, cp: by CP, name)

To save the output in a file just add > filename.txt to the command.

To run the server (IV calculator and Gym Controller) you will have to run:

node rest.js