Skip to content

booxood/node-dota2-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7be54f8 · Aug 22, 2016

History

21 Commits
Aug 22, 2016
Aug 22, 2016
Aug 22, 2016
Apr 30, 2016
Apr 30, 2016
May 10, 2016
Nov 9, 2014
Aug 22, 2016
Nov 9, 2014
May 10, 2016
Aug 22, 2016
Nov 9, 2014
Aug 22, 2016

Repository files navigation

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