From 106d15115744f29e910dfdc5097c64750704c638 Mon Sep 17 00:00:00 2001 From: cloudwithax Date: Fri, 19 Nov 2021 11:11:51 -0500 Subject: [PATCH] Finally fixed thumbnails --- pomice/__init__.py | 2 +- pomice/objects.py | 19 ++++++++++++++++--- pomice/pool.py | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/pomice/__init__.py b/pomice/__init__.py index 079a737..9112ff2 100644 --- a/pomice/__init__.py +++ b/pomice/__init__.py @@ -11,7 +11,7 @@ if discord.__version__ != "2.0.0a": "using 'pip install git+https://github.com/Rapptz/discord.py@master'" ) -__version__ = "1.1.3" +__version__ = "1.1.4" __title__ = "pomice" __author__ = "cloudwithax" diff --git a/pomice/objects.py b/pomice/objects.py index 78cfa1b..449156b 100644 --- a/pomice/objects.py +++ b/pomice/objects.py @@ -1,9 +1,14 @@ +import re from typing import Optional from discord.ext import commands from .enums import SearchType +SOUNDCLOUD_URL_REGEX = re.compile( + r"^(https?:\/\/)?(www.)?(m\.)?soundcloud\.com\/[\w\-\.]+(\/)+[\w\-\.]+/?$" +) + class Track: """The base track object. Returns critical track information needed for parsing by Lavalink. @@ -30,12 +35,20 @@ class Track: self.title = info.get("title") self.author = info.get("author") - self.thumbnail = info.get("thumbnail") + self.uri = info.get("uri") + self.identifier = info.get("identifier") + if info.get("thumbnail"): + self.thumbnail = info.get("thumbnail") + else: + if SOUNDCLOUD_URL_REGEX.match(self.uri): + # ok so theres no feasible way of getting a Soundcloud image URL + # so we're just gonna leave it blank for brevity + self.thumbnail = None + else: + self.thumbnail = f"https://img.youtube.com/vi/{self.identifier}/mqdefault.jpg" self.length = info.get("length") self.ctx = ctx self.requester = self.ctx.author if ctx else None - self.identifier = info.get("identifier") - self.uri = info.get("uri") self.is_stream = info.get("isStream") self.is_seekable = info.get("isSeekable") self.position = info.get("position") diff --git a/pomice/pool.py b/pomice/pool.py index 7db8019..768fb02 100644 --- a/pomice/pool.py +++ b/pomice/pool.py @@ -383,6 +383,7 @@ class Node: ) as response: data = await response.json() + load_type = data.get("loadType") if not load_type: