diff --git a/plugin.py b/plugin.py index 3b4a589..eefae63 100644 --- a/plugin.py +++ b/plugin.py @@ -40,17 +40,21 @@ _ = PluginInternationalization("ListenBrainz") class ListenBrainz(callbacks.Plugin): """Fetches scrobbled metadata for users.""" - threaded = True + def __init__(self, irc): + self.__parent = super(Tripsit, self) + self.__parent.__init__(irc) + self.client = liblistenbrainz.ListenBrainz() + self.DISPLAY_LIMIT = 3 + @wrap(["text"]) def np(self, irc, msg, args, user): """ Announces the track currently being played by . """ - client = liblistenbrainz.ListenBrainz() - listen = client.get_playing_now(user) + listen = self.client.get_playing_now(user) if listen is None: response = f"{user} doen't seem to be listening to anything" else: @@ -67,8 +71,7 @@ class ListenBrainz(callbacks.Plugin): Announces total number of tracks scrobbled by """ - client = liblistenbrainz.ListenBrainz() - count = client.get_user_listen_count(user) + count = self.client.get_user_listen_count(user) if count is None: response = "Nothing recorded" else: @@ -81,9 +84,8 @@ class ListenBrainz(callbacks.Plugin): 's top listened to album releases. """ - client = liblistenbrainz.ListenBrainz() try: - data = client.get_user_recordings(user) + data = self.client.get_user_recordings(user) payload = data.get("payload", {}) except Exception as e: @@ -124,9 +126,8 @@ class ListenBrainz(callbacks.Plugin): Announces the top albums/releases listened to by . """ - client = liblistenbrainz.ListenBrainz() try: - data = client.get_user_releases(user) + data = self.client.get_user_releases(user) payload = data.get("payload", {}) except Exception as e: irc.error(f"An unexpected error occurred: {e}", Raise=True)