Pokémon Go Protobuf files from POGOProtos, wrapped up in a Node module using protobuf.js


Keywords
pokemon, pokemongo, pogo, api, protobuf, niantic
License
MIT
Install
npm install node-pogo-protos@2.10.3

Documentation

node-pogo-protos

Uses protobuf.js to compile the Protobuf files from POGOProtos into an easy to use Node module.

Contains a workaround that fixes the proto3 packed fields bug in protobuf.js for you.

npm version npm downloads dependencies license

How to use

const POGOProtos = require('node-pogo-protos');

var myMessage = new POGOProtos.Networking.Requests.Messages.RecycleInventoryItemMessage({
  item_id: POGOProtos.Inventory.Item.ItemId.ITEM_POTION,
  count: 50
});

var encoded = myMessage.encode();

var decodedAgain = POGOProtos.Networking.Requests.Messages.RecycleInventoryItemMessage.decode(encoded);
console.log(decodedAgain.count); // will print 50

For more details see the protobuf.js documentation.

Usage with TypeScript

TypeScript definitions are included. To use them, make sure that:

  • Typings is installed: npm install -g typings (create an alias for typings if installed locally)
  • External type declarations have been added: typings install dt~long dt~bytebuffer env~node --global --save

Add declarations to .tsconfig.json:

{
  /* ... */
  "files": [
    "typings/index.d.ts",
    /* ... */
  ],
  /* ... */
}

And use import instead of require:

import * as POGOProtos from 'node-pogo-protos';

TypeScript 2.0 module resolution via @types is not currently supported, however the above will work for both TypeScript ^1.8 and ^2.0.