for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Carpenstar\ByBitAPI\WebSockets\Channels\Spot\PublicChannels\Kline\Argument;
use Carpenstar\ByBitAPI\WebSockets\Enums\WebSocketSpotIntervalEnum;
use Carpenstar\ByBitAPI\WebSockets\Enums\WebSocketTopicNameEnum;
use Carpenstar\ByBitAPI\WebSockets\Objects\WebSockets\WebSocketArgument;
class KlineArgument extends WebSocketArgument
{
private string $interval;
public function __construct(string $symbol, string $interval, ?string $reqId = null)
parent::__construct($symbol, $reqId);
if (!in_array($interval, WebSocketSpotIntervalEnum::ALL)) {
throw new \Exception("Invalid interval {$interval} specified. See the list of available intervals in the file: " . WebSocketSpotIntervalEnum::class);
}
$this->interval = $interval;
/**
* @return array
*/
public function getTopic(): array
$topics = [];
foreach (explode(',', $this->symbols) as $symbol) {
$topics[] = WebSocketTopicNameEnum::SPOT_KLINE . ".{$this->interval}.{$symbol}";
return $topics;