From a472c2f8f6a87fd837423cf6224ea82c269c6bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20N=C3=B8rgaard?= Date: Wed, 26 Mar 2025 20:39:22 +0000 Subject: [PATCH] Revert "Fix embed media flags regression" This reverts commit 8594dd1b309fd66bc2defc1f73540dfa9357e2c7. --- discord/embeds.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/discord/embeds.py b/discord/embeds.py index 7f84e410d..b35582b9f 100644 --- a/discord/embeds.py +++ b/discord/embeds.py @@ -46,7 +46,7 @@ class EmbedProxy: return len(self.__dict__) def __repr__(self) -> str: - inner = ', '.join((f'{k}={getattr(self, k)!r}' for k in dir(self) if not k.startswith('_'))) + inner = ', '.join((f'{k}={v!r}' for k, v in self.__dict__.items() if not k.startswith('_'))) return f'EmbedProxy({inner})' def __getattr__(self, attr: str) -> None: @@ -56,16 +56,6 @@ class EmbedProxy: return isinstance(other, EmbedProxy) and self.__dict__ == other.__dict__ -class EmbedMediaProxy(EmbedProxy): - def __init__(self, layer: Dict[str, Any]): - super().__init__(layer) - self._flags = self.__dict__.pop('flags', 0) - - @property - def flags(self) -> AttachmentFlags: - return AttachmentFlags._from_value(self._flags or 0) - - if TYPE_CHECKING: from typing_extensions import Self @@ -423,7 +413,9 @@ class Embed: If the attribute has no value then ``None`` is returned. """ # Lying to the type checker for better developer UX. - return EmbedMediaProxy(getattr(self, '_image', {})) # type: ignore + data = getattr(self, '_image', {}) + data['flags'] = AttachmentFlags._from_value(data.get('flags', 0)) + return EmbedProxy(data) # type: ignore def set_image(self, *, url: Optional[Any]) -> Self: """Sets the image for the embed content. @@ -466,7 +458,9 @@ class Embed: If the attribute has no value then ``None`` is returned. """ # Lying to the type checker for better developer UX. - return EmbedMediaProxy(getattr(self, '_thumbnail', {})) # type: ignore + data = getattr(self, '_thumbnail', {}) + data['flags'] = AttachmentFlags._from_value(data.get('flags', 0)) + return EmbedProxy(data) # type: ignore def set_thumbnail(self, *, url: Optional[Any]) -> Self: """Sets the thumbnail for the embed content. @@ -509,7 +503,9 @@ class Embed: If the attribute has no value then ``None`` is returned. """ # Lying to the type checker for better developer UX. - return EmbedMediaProxy(getattr(self, '_video', {})) # type: ignore + data = getattr(self, '_video', {}) + data['flags'] = AttachmentFlags._from_value(data.get('flags', 0)) + return EmbedProxy(data) # type: ignore @property def provider(self) -> _EmbedProviderProxy: