diff --git a/pomice/pool.py b/pomice/pool.py index a3218a1..67f0c9e 100644 --- a/pomice/pool.py +++ b/pomice/pool.py @@ -255,10 +255,13 @@ class Node: """ for player in self.players.copy().values(): await player.destroy() + + if self._spotify_client_id and self._spotify_client_secret: + await self._spotify_client.close() await self._websocket.close() - del self._pool.nodes[self._identifier] - self.available = False + del self._pool._nodes[self._identifier] + self._available = False self._task.cancel() async def build_track( diff --git a/pomice/spotify/client.py b/pomice/spotify/client.py index d8e0049..1d208fb 100644 --- a/pomice/spotify/client.py +++ b/pomice/spotify/client.py @@ -50,6 +50,8 @@ class Client: self._bearer_token = data["access_token"] self._expiry = time.time() + (int(data["expires_in"]) - 10) self._bearer_headers = {"Authorization": f"Bearer {self._bearer_token}"} + + async def search(self, *, query: str): if not self._bearer_token or time.time() >= self._expiry: @@ -127,3 +129,7 @@ class Client: next_page_url = next_data["next"] return Playlist(data, tracks) + + async def close(self): + await self.session.close() +