Giter Site home page Giter Site logo

node-dota2-api's Introduction

Dota2 Web Api

Build Status Coverage Status

IMPORTANT: API is based on promises from v0.2.0

Dota2 web api node.js version.See detail here

Install

npm install dota2-api

Example:

  const Dota2Api = require('dota2-api');

  const da = Dota2Api.create('a key');

  const options = {game_mode: 1};
  da.getMatchHistory(options).then((result) => {
      console.log(result);
  }, (errorResponseStatusText) => {
      console.log(errorResponseStatusText);
  });

API

Methods relating to Dota 2 matches.

Dota2Api.create(key, [ID])

Create Dota2Api instance,require a key.(if no, see here)

List of IDs:

  • 570 Dota 2 (default)
  • 816 Dota 2 internal test
  • 205790 Dota 2 (beta) test
  const da = Dota2Api.create('a key', 570);

Dota2Api.prototype.getLeagueListing([options])

Information about DotaTV-supported leagues. Options:

  • leagueid (Optional) (int) – The ID of the league to get the prize pool of.

Dota2Api.prototype.getLiveLeagueGames()

A list of in-progress league matches, as well as details of that match as it unfolds.

Dota2Api.prototype.getMatchDetails([options])

Information about a particular match. Options:

  • match_id (string) – Match id

Dota2Api.prototype.getMatchHistory([options])

A list of matches, filterable by various parameters. Options:

  • hero_id (Optional) (uint32) – A list of hero IDs can be found via the GetHeroes method.
  • game_mode (Optional) (uint32)
    • 0 - None
    • 1 - All Pick
    • 2 - Captain's Mode
    • 3 - Random Draft
    • 4 - Single Draft
    • 5 - All Random
    • 6 - Intro
    • 7 - Diretide
    • 8 - Reverse Captain's Mode
    • 9 - The Greeviling
    • 10 - Tutorial
    • 11 - Mid Only
    • 12 - Least Played
    • 13 - New Player Pool
    • 14 - Compendium Matchmaking
    • 16 - Captain's Draft
  • skill (Optional) (uint32) – Skill bracket for the matches (Ignored if an account ID is specified).
    • 0 - Any
    • 1 - Normal
    • 2 - High
    • 3 - Very High
  • date_min (Optional) (uint32) – Minimum date range for returned matches (unix timestamp, rounded to the nearest day).
  • date_max (Optional) (uint32) – Maximum date range for returned matches (unix timestamp, rounded to the nearest day).
  • min_players (Optional) (string) – Minimum amount of players in a match for the match to be returned.
  • account_id (Optional) (string) – 32-bit account ID.
  • league_id (Optional) (string) – Only return matches from this league. A list of league IDs can be found via the GetLeagueListing method.
  • start_at_match_id (Optional) (string) - Start searching for matches equal to or older than this match ID.
  • matches_requested (Optional) (number) – Amount of matches to include in results (default: 25).
  • tournament_games_only (Optional) (string) – Whether to limit results to tournament matches. (0 = false, 1 = true)

Dota2Api.prototype.getMatchHistoryBySequenceNum([options])

A list of matches ordered by their sequence num. Options:

  • start_at_match_seq_num (Optional) (uint64) – The match sequence number to start returning results from.
  • matches_requested (Optional) (uint32) – The amount of matches to return.

Dota2Api.prototype.getScheduledLeagueGames([options])

A list of scheduled league games coming up. Options:

  • date_min (Optional) (uint32) – Unix timestamp
  • date_max (Optional) (uint32) – Unix timestamp

Dota2Api.prototype.getTeamInfoByTeamID([options])

A list of all the teams set up in-game. Options:

  • start_at_team_id (Optional) (uint64) – The team id to start returning results from.
  • teams_requested (Optional) (uint32) – The amount of teams to return.

Dota2Api.prototype.getTournamentPlayerStats([options])

Stats about a particular player within a tournament. Options:

  • account_id (string) – 32-bit account ID.
  • league_id (Optional) (string) – A list of league IDs can be found via the GetLeagueListing method. Will return status 8 - only supports tournament 65006 (The International) unless you provide 65006.
  • hero_id (Optional) (string) – A list of hero IDs can be found via the GetHeroes method.
  • time_frame (Optional) (string) – Only return stats between this time frame (parameter format not yet known).

Dota2Api.prototype.getTopLiveGame([options])

Options:

  • partner (int32) – Which partner's games to use.

Methods relating to Dota 2.

Dota2Api.prototype.getGameItems([options])

Dota 2 In-game items Options:

  • language (Optional) (string) – The language to provide hero names in.

Dota2Api.prototype.getItemIconPath([options])

Options:

  • iconname (string) – The item icon name to get the CDN path of
  • icontype (Optional) (uint32) – The type of image you want.
    • 0 = normal
    • 1 = large
    • 2 = ingame

Dota2Api.prototype.getRarities([options])

Dota 2 item rarity list. Options:

  • language (Optional) (string) – The language to provide hero names in.

Dota2Api.prototype.getHeroes([options])

A list of heroes within Dota 2. Options:

  • language (Optional) (string) – The language to provide hero names in.
  • itemizedonly (Optional) (bool) – Return a list of itemized heroes only.

Dota2Api.prototype.getTournamentPrizePool([options])

The current prizepool for specific tournaments. Options:

  • leagueid (Optional) (int) – The ID of the league to get the prize pool of.

TODO:

Implement this methods(https://wiki.teamfortress.com/wiki/WebAPI#Dota_2):

IEconDOTA2_

  • GetEventStatsForAccount

IDOTA2MatchStats_

  • GetRealtimeStats

IDOTA2Fantasy_

  • GetFantasyPlayerStats
  • GetPlayerOfficialInfo

IDOTA2StreamSystem_

  • GetBroadcasterInfo

IDOTA2Teams_

  • GetTeamInfo

IDOTA2AutomatedTourney_

  • GetActiveTournamentList

IDOTA2Ticket_

  • SetSteamAccountPurchased
  • SteamAccountValidForEvent

License

The MIT License

node-dota2-api's People

Contributors

booxood avatar infernalmaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

node-dota2-api's Issues

Get the player data

Is there a method to return the player data, like the name, since all we have after calling getMatchDetails is the account_id (32-bit account ID) ?

getMatchHistory(options)

const options = {account_id : "random", matches_requested : 5};
getMatchHistory(options)
This call is not returning latest match information. It is skipping last match and returns 5 matches played before that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.