35 lines
903 B
Python
35 lines
903 B
Python
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)
|