🎮 a node-plugin for dota2
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.
lib
test init 0.0.2 Jan 15, 2015
.gitignore fix doc Jan 16, 2015
.travis.yml fix Feb 8, 2015
LICENSE Initial commit Jan 9, 2015
Makefile init 0.0.2 Jan 15, 2015
README.md for test Jul 15, 2016
index.js init 0.0.2 Jan 15, 2015
package.json init 0.0.2 Jan 15, 2015

README.md

Dota2

a node-plugin for dota2 ;

GETTING A KEY

First off get a dev key from here, http://steamcommunity.com/dev/apikey and login with your Steam account and you will get unique key.

Installation

npm install dota --save

Usage

var Dota2Api = require('dota').dota2api;

var key = 'your key'; //Your personal API key (from above)
var language = 'zh_CN';// The language to retrieve results in (default is en_us) (see http://en.wikipedia.org/wiki/ISO_639-1 for the language codes (first two characters) and http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for the country codes (last two characters))
var format = 'JSON' The format to retrieve results in ("JSON" or "XML")

var dota2api = new Dota2Api(key,language,format)

var config={
  account_id : '232210304',
  matches_requested : 10
}
// to get the latest 10 matches played by person whth 32-bit ID 232210304
dota2api.getMatchHistory(config,function(err,data){
  if(err){
    throw err;
  }else{
    // you will get the result
    console.log(data);
  }
});

About Api

getMatchHistory(opt,callback)

sed to get a list of matches played.

Available Options
var config {
  hero_id: < id > , // Search for matches with a specific hero being played (hero ID, not name, see HEROES below)
  game_mode: < mode > , // Search for matches of a given mode (see below)
  skill: < skill > , // 0 for fany, 1 for normal, 2 for high, 3 for very high skill (default is 0)
  min_players: < count > , // the minimum number of players required in the match
  account_id: < id > , // Search for all matches for the given user (32-bit or 64-bit steam ID)
  league_id: < id > , // matches for a particular league
  start_at_match_id: < id > , // Start the search at the indicated match id, descending
  matches_requested: < n > , // Maximum is 25 matches (default is 25)
  tournament_games_only: < string > // set to only show tournament games
}
  dota2api.getMatchHistory(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

getMatchDetails(opt,callback)

Used to get detailed information about a specified match.

Available options:
var config={
  match_id=<id> // the match's ID
}
  dota2api.getMatchDetails(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

getHeroes(opt,callback)

Used to get an UP-TO-DATE list of heroes.

Available Options
var config={
  // nothing ...
  language:'en' // you can also set language just for this request
  format : 'XML' // you can also set format just for this request
}
Result Field Format:
  • heroes - an array of the heroes:
    • name - the hero's in-game "code name"
    • id - the hero's numeric ID
    • localized_name - the hero's text name (language specific result - this field is not present if no language is specified)
  • count - the total number of heroes in the list
 dota2api.getHeroes(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

getLeagueListing(opt,callback)

Used to get a list of the tournament leagues that are available for viewing in the client (i.e. you can buy a ticket to them). Intended for use in conjunction with GetLiveLeagueGames.

Available Options
var config={
  // nothing ...
  language:'en' // you can also set language just for this request
  format : 'XML' // you can also set format just for this request
}
 dota2api.getLeagueListing(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

getLiveLeagueGames(opt,callback)

Used to get a list of the tournament leagues that are available for viewing in the client (i.e. you can buy a ticket to them). Intended for use in conjunction with GetLiveLeagueGames.

#####Available Options

Common options only (see above) - Note that if no language is specified, the API will return the in-game "string" placeholders for all fields marked with (language specific).

Result Field Format:
  • leagues - an array of the leagues:
    • name - the league's full name (language specific)
    • leagueid - the league's numeric ID
    • escription - a description of the leauge (language specific)
    • tournament_url - the url of the tournament's home page
 dota2api.getLiveLeagueGames(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

getMatchHistoryBySequenceNum(opt,callback)

Used to get the matches in the order which they were recorded (i.e. sorted ascending by match_seq_num). This means that the first match on the first page of results returned by the call will be the very first public mm-match recorded in the stats.

var config={
  start_at_match_seq_num=<id>,
  matches_requested=<n>
}
dota2api.getMatchHistoryBySequenceNum(config, function(err, data) {
    if (err) {
      throw err;
    } else {
      // you will get the result
      console.log(data);
    }
  })

TEST

make test

License

The MIT license