public updateNowPlaying ( string $artist, string $track, string $album, integer | float $duration, string $sk ) : boolean | ||
$artist | string | Name of the artist |
$track | string | Name of the track |
$album | string | Name of the album |
$duration | integer | float | Duration of the track, in seconds |
$sk | string | The session key |
return | boolean |
public function updateNowPlaying($artist, $track, $album, $duration, $sk)
{
$params = compact('artist', 'track', 'duration', 'sk');
$params['method'] = 'track.updateNowPlaying';
if ($album) {
$params['album'] = $album;
}
try {
return (bool) $this->post('/', $this->buildAuthCallParams($params), false);
} catch (Exception $e) {
Log::error($e);
return false;
}
}
/** * Handle the event. * * @param SongStartedPlaying $event */ public function handle(SongStartedPlaying $event) { if (!$this->lastfm->enabled() || !($sessionKey = $event->user->getLastfmSessionKey()) || $event->song->album->artist->isUnknown()) { return; } $this->lastfm->updateNowPlaying($event->song->album->artist->name, $event->song->title, $event->song->album->name === Album::UNKNOWN_NAME ? null : $event->song->album->name, $event->song->length, $sessionKey); }