dotastatscli

1.4.0 • Public • Published

npm-version npm license


Do popular gaming stats providers limit your high scores and stats to game modes? Are you satisfied with receiving information exclusively for your entire gaming career? Are you ready to use paid features from providers to get what you need in an overloaded interface?

DotaStatsCLI - Simple, free and effective CLI application that allows you to receive statistics of your matches in dota and visualize it in a pleasant and understandable way. You choose how many matches you want to receive information for. We visualize this information and provide your gaming records, top rankings and general information.

Table of Contents

Advantages and differences

DotaStatsCLI allows you to see full statistics (including games in Turbo and other major game mods). For example: You have played 500 games on Tinker, 450 of which were played in Turbo mode. Other stats providers, as well as Dota itself, will claim that you only played Tinker in 50 games.

DotaStatsCLI in this example will show your 500 games on Tinker.

How it works?

The application takes two arguments. The first is the player ID, the second is the number of games that need to be analyzed.

Next, the application will ask you to select a game data provider. There are two data providers available in version 1.0.0.

Choose dotaBuff provider if you want to get fast visualization for a small number of games (50-500 matches).

Choose an openDota provider if you want to get statistics for a large number of games or for your entire gaming career (50-10000+ matches).

In the first case, a web scraper will be launched, which will collect information by interacting with html markup. In the second case, the data will be collected from the provider using query API calls.

After collecting the data and all the necessary calculations, an HTML page will be generated, which will open in your default browser.

Quick start and install

The easiest and best way to install DotaStatsCLI - is to use NPM.

DotaStatsCLI is not a library! Is a standalone CLI application, please install globally!

npm install -g dotastatscli

If you already have an older version installed, run:

npm update -g dotastatscli

Use the app with two required arguments, PLAYER_ID and GAMES_COUNT, like this:

dotastatscli 321580662 500

This ID belongs to a professional Dota player. After all the calculations have been made, the visualization will open in your browser.

Also, the first time you analyze a player, you will be asked to save it to a configuration file. You can save players for quick access to their statistics.

For convenience, you can save players in a configuration file. You can use dotastatscli without arguments if you pre-populate the configuration file (config.json).

An example of a correctly completed config.json:

{
  "players": [
    {
      "playerName": "YATORO",
      "id": 321580662
    },
    {
      "playerName": "COLLAPSE",
      "id": 302214028
    },
    {
      "playerName": "MIRA",
      "id": 256156323
    },
    {
      "playerName": "TORONTOTOKYO",
      "id": 431770905
    }
  ],
  "port": 6781
}

Next, simply run the application without any arguments:

dotastatscli

The application will prompt you to select a player and enter the required number of matches for analysis.

Customization

In the release version of the application, stock images were used, which are freely distributed and used without additional licensing.

But you can customize the images on the home page and error page. Simply replace the images in the templates/images directory while maintaining the standard file name. We highly recommend taking a look at the images from here - Dota 2 Wallpapers, they look great in your game records section!

FAQ

  • How can I find out my PLAYER ID?

At the moment, we do not know of any convenient ways to obtain a PLAYER ID. You can find it out by searching on popular data aggregator sites (which we use as data providers) - www.dotabuff.com or www.opendota.com. When you find a player by nickname or game and go to his profile, the address bar will have the following address: “PROVIDER.com/players/XXX/”, where XXX is the PLAYER ID.

  • Why is the data from different providers different, despite the same number of game matches?

Indeed, the data may vary, usually it is a small difference. This is because providers define certain game outcomes differently, such as games that did not start because one of the players failed to load or where one of the players left the game.

  • What determines the number of heroes or items in statistics tables?

The number of rows in statistics tables is configured in the configuration file (config.json). The default value is 10.

  • By what principle are the statistics tables sorted?

The data is sorted by the number of games played (column - "Total Games"), the second criterion for sorting is the percentage of wins (column - "WinRate %"), the third sorting criterion is alphabet.

  • For some items in the rating, instead of a name and image, “no data” is written. Is this a bug?

If you are using the openDota supplier, then this is a normal situation that will soon be corrected on the supplier's side. This is usually due to a delay in updating data for new items or heroes.

  • How is animation implemented on the statistics page?

The animation is implemented using a small and wonderful open source library - AOS - Animate on scroll library.

  • Can I participate in the development of the project?

Yes! DotaStatsCLI is an open source application. The application was born as a hobby. If you want to help in development, fix bugs or make any contribution, we will be happy to wait for PR.

  • Where can I report a bug in the application?

You can report a bug or ask a question related to the application on the GitHub page in a special tab - DotaStatsCLI-issues.

Changelog

You can check out the changelog here - CHANGELOG.

License

Licensed under MIT.

Package Sidebar

Install

npm i dotastatscli

Weekly Downloads

2

Version

1.4.0

License

MIT

Unpacked Size

722 kB

Total Files

62

Last publish

Collaborators

  • ddgryaz