diff --git a/changelog.d/audio/3104.misc.1.rst b/changelog.d/audio/3104.misc.1.rst new file mode 100644 index 000000000..82855a786 --- /dev/null +++ b/changelog.d/audio/3104.misc.1.rst @@ -0,0 +1 @@ +Fix an issue where some YouTube playlists were being recognised as single tracks. \ No newline at end of file diff --git a/redbot/cogs/audio/audio_dataclasses.py b/redbot/cogs/audio/audio_dataclasses.py index eee695aa5..16dbc27fb 100644 --- a/redbot/cogs/audio/audio_dataclasses.py +++ b/redbot/cogs/audio/audio_dataclasses.py @@ -381,14 +381,17 @@ class Query: match = re.search(_re_youtube_index, track) if match: returning["track_index"] = int(match.group(1)) - 1 - if all(k in track for k in ["&list=", "watch?"]): returning["track_index"] = 0 returning["playlist"] = True returning["single"] = False elif all(x in track for x in ["playlist?"]): - returning["playlist"] = True if not _has_index else False - returning["single"] = True if _has_index else False + returning["playlist"] = not _has_index + returning["single"] = _has_index + elif any(k in track for k in ["list="]): + returning["track_index"] = 0 + returning["playlist"] = True + returning["single"] = False else: returning["single"] = True elif url_domain == "spotify.com":