r6api / client
Client for the Rainbow 6 Siege stats API
Requires
- php: >=7.1
- ext-ctype: *
- greg0ire/enum: ^4.0
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.0
- php-http/httplug: ^1.0
- php-http/message: ^1.0
- php-http/message-factory: ^v1.0
- psr/cache: ^1.0
- psr/http-message: ^1.0
- ramsey/uuid: ^3.8
- symfony/property-access: ^4.1
- symfony/serializer: ^4.1
Requires (Dev)
- cache/predis-adapter: ^1.0
- php-http/guzzle6-adapter: ^1.1
- phpunit/phpunit: ^7.3
Suggests
- php-http/curl-client: In order to use cURL as the HTTP client
- php-http/guzzle6-adapter: In order to use Guzzle v6 as the HTTP client
This package is not auto-updated.
Last update: 2024-11-11 02:03:52 UTC
README
Installation
You can install the library via Composer. Run the following command:
composer require r6api/client
This will install the client without the needed HTTP client. We suggest you to install:
php-http/curl-client
Simpler if you have no HTTP client on your project.php-http/guzzle6-adapter
If you already use guzzle, I suggest you using this package.
To use the library, use Composer's autoload:
require_once __DIR__. '/vendor/autoload.php';
Getting Started
Simple usage to get someone profile:
require_once __DIR__.'/vendor/autoload.php'; use R6API\Client\ClientBuilder; use R6API\Client\Api\Type\PlatformType; $builder = new ClientBuilder(); $builder->setCacheItemPool($cacheItemPool); // accept PSR-6 adapter (not mandatory) $client = $builder->buildAuthenticated('%email%', '%password%');
Documentation
Profile
Look for profile of an user called panda_______
$profiles = $client->getProfileApi()->get(PlatformType::PC, 'panda_______');
$profiles
will contains an array of Profile
model:
class Profile { /** * @var \Ramsey\Uuid\Uuid */ public $profileId; /** * @var \Ramsey\Uuid\Uuid */ public $userId; /** * @var string * @see \R6API\Client\Api\Type\PlatformType */ public $platformType; /** * @var \Ramsey\Uuid\Uuid */ public $idOnPlatform; /** * @var string */ public $nameOnPlatform; }
Progression
Progression for user we searched in Profile example:
$progressions = $client->getProgressionApi()->get(PlatformType::PC, ['575b8c76-a33a-4c19-9618-d14b9343d527']);
$progressions
will contains an array of Progression
model:
class Progression { /** * @var int */ public $xp; /** * @var Uuid */ public $profileId; /** * @var int */ public $lootboxProbability; /** * @var int */ public $level; public function getLootboxProbabilityPercent(): float; }
Rank
Rank for user we searched in Profile example:
$response = $client->getRankApi()->get(PlatformType::PC, RegionType::EUROPE, SeasonType::CURRENT, ['575b8c76-a33a-4c19-9618-d14b9343d527']);
$response
will contains an array of Rank
model:
class Rank { /** * @var string */ public $boardId; /** * @var int */ public $pastSeasonsAbandons; /** * @var \DateTime */ public $updateTime; /** * @var float */ public $skillMean; /** * @var int */ public $abandons; /** * @var int */ public $season; /** * @var string */ public $region; /** * @var Uuid */ public $profileId; /** * @var int */ public $pastSeasonsLosses; /** * @var float */ public $maxMmr; /** * @var float */ public $mmr; /** * @var int */ public $wins; /** * @var float */ public $skillStdev; /** * @var int */ public $rank; /** * @var int */ public $losses; /** * @var int */ public $nextRankMmr; /** * @var int */ public $pastSeasonsWins; /** * @var int */ public $previousRankMmr; /** * @var int */ public $maxRank; public function getWinLosseRate(): float; }
Statistic
Statistic for user we searched in Profile example:
$statistics = [ StatisticType::CASUAL_TIMEPLAYED, StatisticType::CASUAL_MATCHPLAYED, StatisticType::CASUAL_MATCHWON, StatisticType::CASUAL_MATCHLOSTS, StatisticType::CASUAL_KILLS, StatisticType::CASUAL_DEATH ]; $response = $client->getStatisticApi()->get(PlatformType::PC, ['575b8c76-a33a-4c19-9618-d14b9343d527'], $statistics);
$response
will contains an array of Statistic
model:
class Statistic
{
/**
* @var Uuid
*/
public $profileId;
/**
* @var array
*/
public $statistics;
}
Understand that $statistics
array will contains all responses with StatisticType
as key and corresponding value as value ;)