A dumb/quick module to get current playing track
Dumb loop fetch of user.getRecentTracks you will need a API key from Last.fm
Uses node-fetch to make the request.
var lfmnp = require('QuickLastFMNowPlaying');
var c = new lfmnp.QuickLastFMNowPlaying({
api_key: some_apikey,
user: some_lastFM_username
});
c.on('error', function(e) {
console.error(e);
}).on('warning', function(e) {
console.error('Got a', e.code, e.body);
}).on('song', function(s) {
console.log('song', s.name, 'by', s.artist['#text']);
}).on('always', function(s) {
console.log('always', s);
})
-
api_key
- string, required, you need a API Key in order to poll Last.fm -
user
- string, required, the username to fetch songs for, -
poll_time
- int, optional, default10000
- time between polls in MS -
nowplaying_only
- boolean, optional, defaultfalse
, iftrue
only return asong
event if the current song is actually playing -
user_agent
- override the default useragent, helps ID your calls to LastFM in the event of a problem
-
error
- percolates an error if request gets one, or an error with the response, passed the error -
always
- emits the whole response ofuser.getrecenttracks
-
song
- the song changed, returns the first track object -
nochange
- the poll completed, but the song didn't change, nothing is passed -
warning
- non 200 call from the API, either Last.fm tripped, or you are polling to quick and hit a rate limit. passes an object containting the HTTP Code ascode
and thebody
response
v1.1.0
Swapped from Got to Node Fetch And a Rename to QuickLastFMNowPlaying