diff --git a/plugins/lastfm.py b/plugins/lastfm.py new file mode 100644 index 0000000..de11efa --- /dev/null +++ b/plugins/lastfm.py @@ -0,0 +1,34 @@ +from util import hook, http + +api_key = "" + +api_url = "http://ws.audioscrobbler.com/2.0/?format=json" + +@hook.command +def lastfm(inp, nick='', say=None): + if inp: + user = inp + else: + user = nick + + response = http.get_json(api_url, method="user.getrecenttracks", + api_key=api_key, user=user, limit=1) + + if 'error' in response: + if inp: # specified a user name + return "error: %s" % response["message"] + else: + return "your nick is not a LastFM account. try '.lastfm username'." + + track = response["recenttracks"]["track"] + title = track["name"] + album = track["album"]["#text"] + artist = track["artist"]["#text"] + + ret = "\x02%s\x0F's last track - \x02%s\x0f" % (user, title) + if artist: + ret += " by \x02%s\x0f" % artist + if album: + ret += " on \x02%s\x0f" % album + + say(ret)