rss-bridge/bridges/PicartoBridge.php

41 lines
1.3 KiB
PHP

<?php
class PicartoBridge extends BridgeAbstract
{
const NAME = 'Picarto';
const URI = 'https://picarto.tv';
const DESCRIPTION = 'Produces a new feed item each time a channel goes live';
const CACHE_TIMEOUT = 300;
const PARAMETERS = [[
'channel' => [
'name' => 'Channel name',
'type' => 'text',
'required' => true,
'title' => 'Channel name',
'exampleValue' => 'Wysdrem',
],
]
];
public function collectData()
{
$channel = $this->getInput('channel');
$data = json_decode(getContents('https://api.picarto.tv/api/v1/channel/name/' . $channel), true);
if (!$data['online']) {
return;
}
$lastLive = new \DateTime($data['last_live']);
$this->items[] = [
'uri' => 'https://picarto.tv/' . $channel,
'title' => $data['name'] . ' is now online',
'content' => sprintf('<img src="%s"/>', $data['thumbnails']['tablet']),
'timestamp' => $lastLive->getTimestamp(),
'uid' => 'https://picarto.tv/' . $channel . $lastLive->getTimestamp(),
];
}
public function getName()
{
return 'Picarto - ' . $this->getInput('channel');
}
}