feat: add new bridge for picarto.tv (#3220)

This commit is contained in:
Dag 2023-01-20 22:48:06 +01:00 committed by GitHub
parent 04090bd84a
commit c06e471ae9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 41 additions and 0 deletions

41
bridges/PicartoBridge.php Normal file
View File

@ -0,0 +1,41 @@
<?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');
}
}