/Mandrasoft.PokemonGo

A C# implementation of the PokemonGo protocol with state keeping.

Primary LanguageC#

This solution is composed multiple projects

Scanner

The scanner allows you to contribute to the website

Binaries for the scanner can be downloaded here

All you have to do is edit the .config file with any text editor and customize it.

    <add key="WebUri" value="http://pokemongo.mandrasoft.fr/" />
    <add key="Login" value="login" />
    <add key="Password" value="password" />
    <add key="AuthType" value="PTC" />
    <add key="BoundsToScan" value="48.899352, 2.260842, 48.818289, 2.454376" /> <!-- 2 points to make a Rectangle (Lat,lnt,lat,lng)-->
    <add key="JobsToLaunch" value="50" /> //How many Jobs are running simultaneously
    <add key="WebDelay" value="15"/> //Delay between each message to our server.

PokemonGo Map Exporter

This tool allows you to export your PokemonGo Map database to a website.

Binaries for the scanner can be downloaded here

The website allows you to view in realtime Wild Pokemons that users submitted via the Scanner as well a as a heatmap analysis of the encounters

Real time display of pokemons Heatmap analysis


API

The API allows you to communicate with the PokemonGo servers and do pretty much everything the server allows. Here's a simple use of the client.

using (var client = new PokemonGoClient(48.8441589993527, 2.36343582639852))
{
   await client.Login();
   await client.SetServer();
   await client.UpdateInventory();
   await client.UpdateMapObjects();
   var allPokemonsOwned = client.InventoryManager.Items.Where(x => x.InventoryItemData.PokedexEntry?.TimesCaptured > 0).Select(x => x.InventoryItemData.PokedexEntry.PokedexEntryNumber);
}

Bot

It's more of a testing ground for the API, but it can work as is as a great farming bot. Only have to edit the config file (same as the scanner pretty much)

It can communicate with the website to know if there are pokemons you don't have in a reachable radius and go there for example which is a nice trick ;)