Last.fm
"https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".CONF['lastfm_user']."&nowplaying=true&format=json&api_key=".CONF['lastfm_key'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$current_response = curl_exec($curl_current);
$err = curl_error($curl_current);
curl_close($curl_current);
if ($err) {
die("cURL Error #:" . $err);
}
$current_response = json_decode($current_response, true);
$nowplaying = $current_response['recenttracks']['track'][0];
echo ' Now Playing: '.$nowplaying['name'].' • '.$nowplaying['artist']['#text'].''.PHP_EOL;
$tracks_to_show = 10;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".CONF['lastfm_user']."&format=json&period=7day&api_key=".CONF['lastfm_key'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$toptracks_response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
die("cURL Error #:" . $err);
}
echo ' Top '.$tracks_to_show.' Tracks (Last 7 days) Profile
'.PHP_EOL;
echo ' '.PHP_EOL;
$toptracks_response = json_decode($toptracks_response, true);
$tracks = $toptracks_response['toptracks']['track'];
$count = 0;
foreach ($tracks as $track) {
echo ' - '.PHP_EOL;
echo ' '.$track['name'].' • '.$track['artist']['name'].''.PHP_EOL;
echo ' ('.$track['playcount'].' plays)'.PHP_EOL;
echo '
'.PHP_EOL;
if ($count >= $tracks_to_show - 1) break;
$count++;
}
echo '
';