diff options
Diffstat (limited to 'modules/spotify.py')
| -rw-r--r-- | modules/spotify.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/spotify.py b/modules/spotify.py new file mode 100644 index 00000000..64ba2c2f --- /dev/null +++ b/modules/spotify.py @@ -0,0 +1,26 @@ +import json +import Utils + +URL_SPOTIFY = "https://api.spotify.com/v1/search" + +class Module(object): + def __init__(self, bot): + bot.events.on("received").on("command").on("spotify").hook( + self.spotify, help="Search for a track on spotify", + min_args=1) + + def spotify(self, event): + page = Utils.get_url(URL_SPOTIFY, get_params={"type": "track", + "limit": 1, "q": event["args"]}, json=True) + if page: + if len(page["tracks"]["items"]): + item = page["tracks"]["items"][0] + title = item["name"] + artist_name = item["artists"][0]["name"] + url = item["external_urls"]["spotify"] + event["stdout"].write("%s (by %s) %s" % (title, artist_name, + url)) + else: + event["stderr"].write("No results found") + else: + event["stderr"].write("Failed to load results") |
