From c75dc909d18062b76d7392cdbb0ff414f6354a55 Mon Sep 17 00:00:00 2001 From: Choco <94597336+ChocoMeow@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:09:55 +0800 Subject: [PATCH 1/2] Fixed autoplay for spotify --- voicelink/pool.py | 2 +- voicelink/spotify/client.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/voicelink/pool.py b/voicelink/pool.py index a79da7f..5b258f8 100644 --- a/voicelink/pool.py +++ b/voicelink/pool.py @@ -515,7 +515,7 @@ class Node: ) for track in tracks ] - async def get_recommendations(self, track: Track, limit: int = None) -> List[Optional[Track]]: + async def get_recommendations(self, track: Track, limit: int = 20) -> List[Optional[Track]]: if track.spotify: if not self.spotify_client: return [] diff --git a/voicelink/spotify/client.py b/voicelink/spotify/client.py index 1ea310a..3d1dff2 100644 --- a/voicelink/spotify/client.py +++ b/voicelink/spotify/client.py @@ -91,7 +91,7 @@ class Client: data = await self.get_request(request_url) return [ Track(track) for track in data['tracks']['items'] ] - async def similar_track(self, seed_tracks: str, *, limit: int = 5) -> List[Track]: + async def similar_track(self, seed_tracks: str, *, limit: int = 10) -> List[Track]: request_url = SUGGESTION_URL.format(limit=limit, seed_tracks=seed_tracks) data = await self.get_request(request_url) return [ Track(track) for track in data['tracks'] ] From b26daaaeb728940e35fd35c03b3168dd5e701cf9 Mon Sep 17 00:00:00 2001 From: Choco <94597336+ChocoMeow@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:56:05 +0800 Subject: [PATCH 2/2] Fixed the play autocomplete --- cogs/basic.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cogs/basic.py b/cogs/basic.py index e6ed3a6..f25b39d 100644 --- a/cogs/basic.py +++ b/cogs/basic.py @@ -92,7 +92,7 @@ class Basic(commands.Cog): return [app_commands.Choice(name=c.capitalize(), value=c) for c in self.bot.cogs if c not in ["Nodes", "Task"] and current in c] async def play_autocomplete(self, interaction: discord.Interaction, current: str) -> list: - if voicelink.pool.URL_REGEX.match(current): return [] + if voicelink.pool.URL_REGEX.match(current): return [app_commands.Choice(name=current, value=current)] history: dict[str, str] = {} for track_id in reversed(await get_user(interaction.user.id, "history")): @@ -107,9 +107,9 @@ class Basic(commands.Cog): if node and node.spotify_client: try: tracks: list[voicelink.Track] = await node.spotifySearch(current, requester=interaction.user) - return history_tracks[:5] + [app_commands.Choice(name=truncate_string(f"🎵 {track.author} - {track.title}", 100), value=truncate_string(f"{track.author} - {track.title}", 100)) for track in tracks] + return [app_commands.Choice(name=truncate_string(f"🎵 {track.author} - {track.title}", 100), value=truncate_string(f"{track.author} - {track.title}", 100)) for track in tracks] except voicelink.TrackLoadError: - return history_tracks + return [] @commands.hybrid_command(name="connect", aliases=get_aliases("connect")) @app_commands.describe(channel="Provide a channel to connect.")