README
About
a node promise api for dota2
Get steam key
click this, http://steamcommunity.com/dev/apikey, login with your Steam account and get the unique key.
Installation
npm install dota2libp --save
Usage
use in your node source:
var api = require('dota2libp');
Initialization
var dota2api = new api('your key')
Api
getMatchHistory(opt)
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
}
var config = {
account_id : '125997846'
};
dota2api.getMatchHistory(config).then(function(matchData){
console.log(matchData);
})
Result Field Format:
- num_results - the number of results contained in this response
- total_results - the total number of results for this particular query [(total_results / num_results) = total_num_pages]
- results_remaining - the number of results left for this query [(results_remaining / num_results) = remaining_num_pages]
- matches - an array of num_results matches:
- match_id - the numeric match ID
- match_seq_num - the match's sequence number - the order in which matches are recorded
- start_time - date in UTC seconds since Jan 1, 1970 (unix time format)
- lobby_type - the type of lobby
- players - an array of players:
- account_id - the player's 32-bit Steam ID - will be set to "4294967295" if the player has set their account to private.
- player_slot - an 8-bit unsigned int: if the left-most bit is set, the player was on dire. the two right-most bits represent the player slot (0-4).
- hero_id - the numeric ID of the hero that the player used (see below).
getMatchDetails(opt)
to get detailed information about a specific match.
Available options:
var config={
match_id=<id> // the match's ID
}
dota2api.getMatchDetails(config).then(function(details){
console.log(details);
})
getHeroes(opt)
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).then(function(data){
// you will get the result
console.log(data);
})
getLeagueListing(opt)
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).then(function(data) {
// you will get the result
console.log(data);
})
getLiveLeagueGames(opt)
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).
dota2api.getLiveLeagueGames(config).then(function(data) {
// you will get the result
console.log(data);
})
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
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.then(function(data) {
// you will get the result
console.log(data);
})