Whatsapp notifier for Pokemon Go

August 9, 2016

If you've played Pokemon Go in the last few weeks, you noticed most of the maps and helper services went down due to a recent API change by Niantic.

After the last few days, the guys over at Reddit managed to figure out the unknown6 hash value, which was done by digging deep into the ARM assembly and reverse engineering the code which produces the new value called signature.

Custom tracking systems

Because of the tracking system still not working as of today, I decided to write a notification system for Bern, via Whatsapp. It looks like this:

It uses the any kind of PokemonGo-Map (careful: using this is probably against the TOS) and notifies if a certain Pokemon has been found.

PokemonGo-Map with focus on Bern

It grabs the data via the /raw_data API endpoint, which delivers plain JSON:

{
  "pokemons": [
    {
      "disappear_time": 1350773064036, 
      "encounter_id": "NTkzODk2MDk5NzExNzgyMjg2MQ==", 
      "latitude": 46.947431076036004, 
      "longitude": 7.451105961728822, 
      "pokemon_id": 41, 
      "pokemon_name": "Zubat", 
      "spawnpoint_id": "478e39c4819"
    }, 
    {
      "disappear_time": 1350772990532, 
      "encounter_id": "MjM0Njg2MTE4MjA2NzY0MTU0OQ==", 
      "latitude": 46.947479776447274, 
      "longitude": 7.44919022183481, 
      "pokemon_id": 13, 
      "pokemon_name": "Weedle", 
      "pokemon_rarity": "Common", 
     ...

Configuration & fun with yowsup

The configuration should be quite easy if you have a map server available. You can specify which Pokemon to track, and even send messages to a whatsapp group (more in the configuration section on Github).

"rare_pokemon": [1, 2, 3, 4, 5, 6, 7, 8, 9, 25, 144, 145,
146, 147, 148, 149, 150, 151]

The most difficult part is setting up yowsup, the API for communicating with Whatsapp. You'll need a spare SIM card just for this notification system and verify it with a code sent via SMS before you're able to use it via command script. Just follow the tutorial and check via command line if it worked:

yowsup/yowsup-cli demos -l 41791234567:i765GIv5H4D5f= 
-M -s 41795673412 "Hello Whatsapp!"

So, good luck catching your first Pikachu :-)

Code is on Github: pokenotifier-whatsapp