HeroesSnapshotDiffer is a tool to generate snapshots of different versions of Heroes of the Storm's files, as well as generate a diff and upload the results to Reddit.
- Better Error Handling and checks.
- Add support to compare specific builds, rather just new one.
- Restructure the whole project that allow to get required by other projects.
- Change all the functions and stuff to async/promise.
- Add Babel to transpile ES6 to ES5 for older Nodejs versions.
- Compare file counts and list as well (different list of files).
Nodejs (//TODO: add version)node-gypdiffcommand installed and added to$PATHcurlcommand installed and added to$PATH- Prefer Linux system since
storm-extractact wired on Windows systems.
git clone https://github.com/jamiephan/HeroesSnapshotDiffer.git
cd HeroesSnapshotDiffer
npm intall
npm start
Important: Please rename settings.template.js to settings.js first, otherwise the whole project will not work.
You can configure the settings.js with your account settings. This project will use both Reddit and Ge.tt for posting and uploading service.
Both of these service requires an API key, you may obtain them from these locations (After login and create/add app):
| Key | Required | Type | Description | Example |
|---|---|---|---|---|
| REDDIT_USERNAME | Yes | String | The Reddit username that is going to post | heroesdiff |
| REDDIT_PASSWORD | Yes | String | The password for the Reddit user above. | S0meLove1yPswD |
| REDDIT_SUBREDDIT | Yes | String | The subreddit name that will be post to. | heroesdiff |
| REDDIT_CLIENT_ID | Yes | String | The client ID from the created app: link | p2ebKy1A9N4A7A |
| REDDIT_CLIENT_SECRET | Yes | String | The client Secret from the created app: link | wXg3HDCHHSUroPq-svk9jpsKoYs |
| REDDIT_USERAGENT | Yes | String | The UserAgent string that will be read by Reddit. **Must contain useful infomation. Read more: **https://github.com/reddit-archive/reddit/wiki/API#rules | Heroes Differ 1.0 by /u/jamiephan |
| REDDIT_POST_TEMPLATE | Yes | String | The path for the template that will be post to Reddit's content section. The variables contains: - {{NewBuild}} : Build number for the latest version - {{NewVersion}} : version number for the latest version - {{OldBuild}} : Build number for the previous version - {{OldVersion}} : version number for the previous version - {{diffLink}} : The link that was uploaded to Ge.tt - {{exts}} : A description in pure for all the extensions | (See reddit-post.template) |
| GETT_EMAIL | Yes | String | The email address for Ge.tt | heroesdiffer@gmail.com |
| GETT_PASSWORD | Yes | String | The password for Ge.tt | SomePasswordisCool123 |
| GETT_APIKEY | Yes | String | The API key for Ge.tt. Create an app here first: link | j34j5bhv23lsdfuclrx4s6sdf8sdoflnl45jbsdf0sdfjb3 |
| HEROES_OF_THE_STORM_INSTALLATION_PATH | Yes | String | The absolute path for Heroes of the Storm | /mnt/d/Program Files/Heroes of the Storm/ |
| SNAPSHOT_SAVE_PATH | Yes | String | The absolute path for saving the snapshots | __dirname + '/diff/' |
| SNAPSHOT_SAVE_PREFIX | Yes | String | The prefix for snapshots when creating the directory | snapshot- |
| SNAPSHOT_SAVE_EXTENSIONS | Yes | Array | Array of extensions to filter out (use [] for everything) |
['xml', 'galaxy', 'txt', 'StormLayout'] |
| DIFF_RESULTS_FILENAME_TEMPLATE | Yes | String | The absolute path for the result diff file template. The variables contains: - {{NewBuild}} : Build number for the latest version - {{OldBuild}} : Build number for the previous version | diff_{{NewBuild}}_{{OldBuild}}.txt |
| DIFF_RESULTS_SAVE_PATH | Yes | String | The absolute path for saving the diff result files. | __dirname + '/diff_results/ |