2017 © Pedro Peláez
 

library dotapi2

PHP DotA 2 API Client

image

shamota/dotapi2

PHP DotA 2 API Client

  • Thursday, June 29, 2017
  • by ivan.shamota
  • Repository
  • 1 Watchers
  • 0 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 7 Versions
  • 8 % Grown

The README.md

Dotapi2

Build Status Dependency Status Test Coverage Code Climate SensioLabsInsight, (*1)

Dota 2 API Wrapper for PHP, (*2)

Reference

Installation

This module can be installed with Composer. Add the dotapi2 package to your composer.json file:, (*3)

{
    "require": {
        "shamota/dotapi2": "~1.0"
    }
}

You will also need a Steam API key, you can get one at http://steamcommunity.com/dev/apikey., (*4)

Configuration

// Set your Steam API key
Client::setDefaultKey('your_api_key_here');

// Create wrapper
$client = new Client();

Supported Endpoints

getMatchHistory

Gets a filtered match history, (*5)

$filter = new Filters\Match();
$filter->setGameMode(GameModes::CAPTAINS__MODE);
$filter->setMinimumPlayers(10);
$filter->setAccountId(22785577);

// Returns a Response object that contains the raw body and JSON data.
$response = $client->getMatchHistory($filter);

// Turns response into a Match collection
$matchCollection = $response->getCollection('Match');

// Loops through all the found matches and dispays the start time.
foreach ($matchCollection as $match) {
    echo $match->getStartTime()->format('d-m-Y H:i:s') . PHP_EOL;
}

getMatchHistoryBySequenceNumber

Gets a list of matches ordered by sequence number, (*6)


// Returns a Response object that contains the raw body and JSON data. $response = $client->getMatchHistoryBySequenceNumber(new Filters\MatchSequence(2040184605, 10)); // Turns response into a Match collection $matchCollection = $response->getCollection('Match'); // Loops through all the found matches and dispays the start time. foreach ($matchCollection as $match) { echo $match->getStartTime()->format('d-m-Y H:i:s') . PHP_EOL; }

getMatchDetails

Gets detailed information about a specific match, (*7)


// Returns a Response object that contains the raw body and JSON data. $response = $client->getMatchDetails(new Filters\MatchDetails(2197925777)); // Turns response into a DetailedMatch collection $match = $response->getEntity('DetailedMatch'); // Get Dire players $direPlayers = $match->getPlayers()->getDire(); // Get a specific player $specificPlayer = $match->getPlayers()->getById(22785577); $specificPlayerHero = $specificPlayer->getHeroId(); $specificPlayerKills = $specificPlayer->getKills(); // Get Picks and Bans sequence if matchtype has picks and bans $pickBanSequence = $match->getPicksBans();

getLeagueListing

Get information about DotaTV-supported leagues., (*8)

$response = $client->getLeagueListing();

getLiveLeagueGames

Get a list of in-progress league matches, as well as details of that match as it unfolds., (*9)

$response = $client->getLiveLeagueGames();

getScheduledLeagueGames

Get a list of scheduled league games coming up., (*10)

$response = $client->getScheduledLeagueGames();

getFantasyPlayerStats

Get fantasy player stats, (*11)

// Puppey (87278757) in The Shanghai Major (4266)
$response = $client->getFantasyPlayerStats(new Filters\FantasyPlayerStats(4266, 87278757));

getPlayerOfficialInfo

Get official player information., (*12)

// Puppey (87278757)
$response = $client->getPlayerOfficialInfo(new Filters\AccountId(87278757));

getBroadcasterInfo

Get broadcaster info with the 64-bit Steam ID. If you need to convert, check Steam ID Conversion., (*13)

// Requires the 64-bit Steam ID of a broadcaster.
$response = $client->getBroadcasterInfo(new Filters\BroadcasterInfo(76561197997412731));

getActiveTournamentList

Gets list of active tournament, (*14)

$response = $client->getActiveTournamentList();

getTeamInfo

Get team info, (*15)

// Get team info for Team Secret (1838315). Filter is optional.
$response = $client->getTeamInfo(new Filters\TeamInfo(1838315));

getTopLiveGame

Get the top live games., (*16)

$response = $client->getTopLiveGame(new Filters\TopLiveGame(0));

getEventStatsForAccount

Retrieve event statistics for account., (*17)

// Get stats for account 22785577 at The Shanghai Major (4266)
$response = $client->getEventStatsForAccount(new Filters\EventStats(4266, 22785577));

getRealTimeStats

Retrieve real time stats about a match with a server steam id. You need a steam server id to get statistics, the top live games and some other tournament endpoint provide these for a match., (*18)

$response = $client->getRealTimeStats(new Filters\RealTimeStats(steam_server_id_here));

getGameItems

Get a list of Dota2 in-game items., (*19)

$response = $client->getGameItems();

getItemIconPath

Get the CDN path for a specific icon., (*20)

$response = $client->getItemIconPath(new Filters\ItemIconPath('enchanted_manglewood_staff', IconType::LARGE));

getSchemaUrl

Get the URL to the latest schema for Dota 2., (*21)

$response = $client->getSchemaUrl();

getHeroes

Get a list of heroes., (*22)

$response = $client->getHeroes();

getRarities

Get item rarity list., (*23)

$response = $client->getRarities();

getTournamentPrizePool

Get the current pricepool for specific tournaments., (*24)

$response = $client->getTournamentPrizePool();

Custom endpoint

You can also contact a custom endpoint on the Steam API:, (*25)

$response = $client->get('IEconDOTA2_570/GetGameItems/v1', array|Filters\Filter $parameters);

Steam ID Conversion

If you have the GMP extension installed, Dotapi2 will allow you to convert 32-bit to 64-bit ID's and the other way around., (*26)

To convert a 32-bit ID:, (*27)

$steamId = UserId::to64Bit('22785577'); // 76561197983051305

To convert a 64-bit ID:, (*28)

$accountId = UserId::to32Bit('76561197983051305'); // 22785577

The Versions

29/06 2017

dev-master

9999999-dev https://github.com/shamota/Dotapi2/

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

29/06 2017

1.0.5

1.0.5.0 https://github.com/shamota/Dotapi2/

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

28/06 2017

1.0.4

1.0.4.0 https://github.com/shamota/Dotapi2/

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

30/04 2016

1.0.3

1.0.3.0 https://github.com/Sjaakmoes/dotapi2

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

30/04 2016

1.0.2

1.0.2.0 https://github.com/Sjaakmoes/dotapi2

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

30/04 2016

1.0.1

1.0.1.0 https://github.com/Sjaakmoes/dotapi2

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam

30/04 2016

1.0.0

1.0.0.0 https://github.com/Sjaakmoes/dotapi2

PHP DotA 2 API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

api dota steam