Pokémon Go Protobuf files from POGOProtos, wrapped up in a Node module using protobuf.js
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
proto
.gitignore
LICENSE
README.md
UPDATING.md
generate-typings.sh
package.json
pogo-protos.d.ts
pogo-protos.js

README.md

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

⚠️ THIS REPOSITORY IS NO LONGER UNDER ACTIVE MAINTENANCE. FOR FURTHER DEVELOPMENT PLEASE SEE THE POGOSANDBOX FORK. ⚠️

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.