From f42b15fe135294a0e08375b6934ddc4a4dcdb3b1 Mon Sep 17 00:00:00 2001 From: DA-344 <108473820+DA-344@users.noreply.github.com> Date: Sun, 2 Mar 2025 12:52:16 +0100 Subject: [PATCH] chore: Remove attachment.py --- discord/types/attachment.py | 56 ------------------------------------- discord/types/components.py | 18 +++++++++--- discord/types/message.py | 18 +++++++++++- 3 files changed, 31 insertions(+), 61 deletions(-) delete mode 100644 discord/types/attachment.py diff --git a/discord/types/attachment.py b/discord/types/attachment.py deleted file mode 100644 index 0084c334c..000000000 --- a/discord/types/attachment.py +++ /dev/null @@ -1,56 +0,0 @@ -""" -The MIT License (MIT) - -Copyright (c) 2015-present Rapptz - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -""" - -from __future__ import annotations - -from typing import Literal, Optional, TypedDict -from typing_extensions import NotRequired, Required - -from .snowflake import Snowflake - -LoadingState = Literal[0, 1, 2, 3] - -class AttachmentBase(TypedDict): - url: str - proxy_url: str - description: NotRequired[str] - spoiler: NotRequired[bool] - height: NotRequired[Optional[int]] - width: NotRequired[Optional[int]] - content_type: NotRequired[str] - flags: NotRequired[int] - - -class Attachment(AttachmentBase): - id: Snowflake - filename: str - size: int - ephemeral: NotRequired[bool] - duration_secs: NotRequired[float] - waveform: NotRequired[str] - title: NotRequired[str] - - -class UnfurledAttachment(AttachmentBase, total=False): - loading_state: Required[LoadingState] diff --git a/discord/types/components.py b/discord/types/components.py index a50cbdd1e..68aa6156d 100644 --- a/discord/types/components.py +++ b/discord/types/components.py @@ -29,7 +29,6 @@ from typing_extensions import NotRequired from .emoji import PartialEmoji from .channel import ChannelType -from .attachment import UnfurledAttachment ComponentType = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17] ButtonStyle = Literal[1, 2, 3, 4, 5, 6] @@ -137,15 +136,26 @@ class TextComponent(ComponentBase): content: str +class UnfurledMediaItem(TypedDict): + url: str + proxy_url: str + height: NotRequired[Optional[int]] + width: NotRequired[Optional[int]] + content_type: NotRequired[str] + placeholder: str + loading_state: MediaItemLoadingState + flags: NotRequired[int] + + class ThumbnailComponent(ComponentBase): type: Literal[11] - media: UnfurledAttachment + media: UnfurledMediaItem description: NotRequired[Optional[str]] spoiler: NotRequired[bool] class MediaGalleryItem(TypedDict): - media: UnfurledAttachment + media: UnfurledMediaItem description: NotRequired[Optional[str]] spoiler: NotRequired[bool] @@ -157,7 +167,7 @@ class MediaGalleryComponent(ComponentBase): class FileComponent(ComponentBase): type: Literal[13] - file: UnfurledAttachment + file: UnfurledMediaItem spoiler: NotRequired[bool] diff --git a/discord/types/message.py b/discord/types/message.py index 81bfdd23b..1d837d2d8 100644 --- a/discord/types/message.py +++ b/discord/types/message.py @@ -38,7 +38,6 @@ from .interactions import MessageInteraction, MessageInteractionMetadata from .sticker import StickerItem from .threads import Thread from .poll import Poll -from .attachment import Attachment class PartialMessage(TypedDict): @@ -70,6 +69,23 @@ class Reaction(TypedDict): burst_colors: List[str] +class Attachment(TypedDict): + id: Snowflake + filename: str + size: int + url: str + proxy_url: str + height: NotRequired[Optional[int]] + width: NotRequired[Optional[int]] + description: NotRequired[str] + content_type: NotRequired[str] + spoiler: NotRequired[bool] + ephemeral: NotRequired[bool] + duration_secs: NotRequired[float] + waveform: NotRequired[str] + flags: NotRequired[int] + + MessageActivityType = Literal[1, 2, 3, 5]