dncusmir/bsapi

BrawlStars api 的客户端

dev-master 2020-05-18 12:50 UTC

This package is auto-updated.

Last update: 2024-09-18 22:36:07 UTC


README

CI-CD License: MIT Total Downloads Stable release

一个 PHP 客户端,用于使用 BrawStars Api,实现了 PSR-7PSR-17PSR-18

安装

先决条件

BrawStars Api 需要 PHP 7.3 或更高版本。

通过 composer

composer require dncusmir/bsapi

它还需要 PSR-7PSR-18 的实际实现。例如,用于 HTTP 客户端的 Guzzle 6 HTTP Adapter 和用于 HTTP 工厂 的 laminas-diactoros

composer require php-http/guzzle6-adapter
composer require laminas/laminas-diactoros

使用方法

首先,确保在 (https://developer.brawlstars.com) 获取您的 API 密钥。使用之前的客户端和工厂

use Dncusmir\BsApi\BsApi;
use Laminas\Diactoros\RequestFactory;
use Http\Adapter\Guzzle6\Client as GuzzleAdapter;

// get your client and factory: can use any compatible psr-7 / psr-17 packages
$config = [
    'timeout' => 25,
];
$httpClient = GuzzleAdapter::createWithConfig($config);
$httpRequestFactory = new RequestFactory();

// create your api object to use for api calls
$apiKey = 'your api key';
$api = new BsApi($apiKey, $httpClient, $httpRequestFactory);

现在,您可以对 BrawStars Api 进行 API 调用。

使用示例

获取玩家的名字
$playerTag = "#8GVLPUGRJ";

$player = $api->getPlayerInformation($playerTag);

echo $player['name'] . PHP_EOL;
获取玩家的斗士及其奖杯
foreach ($player['brawlers'] as $brawler) {
    echo $brawler['name'] . ' ' . $brawler['trophies'] . PHP_EOL;
}

函数

获取特定标签的玩家信息
public function getPlayerInformation(string $playerTag): array
获取玩家的最近战斗日志
public function getPlayerBattleLog(string $playerTag): array
获取俱乐部信息。
public function getClubInformation(string $clubTag): array
列出俱乐部成员。
public function getClubMembers(string $clubTag): array
获取一个国家或全球排名的玩家排名。
public function getPlayerRankings(string $countryCode): array
获取一个国家或全球排名的俱乐部排名。
public function getClubRankings(string $countryCode): array
获取一个国家或全球排名的斗士排名。
public function getBrawlerRankings(string $countryCode, string $brawlerId): array
获取可用的斗士列表。
public function getBrawlers(): array
获取关于斗士的信息。
public function getBrawlerInformation(string $brawlerId): array

返回格式

每个函数的返回格式与 BrawlStars Api 文档 上的格式相同。

异常

所有函数都会抛出异常: ClientException(错误的客户端配置、超时等)和 ResponseException(错误的 API 密钥、错误的玩家标签等)。