From 9365b18ea28f148898c2021b26c0aa95362561af Mon Sep 17 00:00:00 2001 From: Victor Kotlin Date: Tue, 2 Aug 2022 18:26:48 +0300 Subject: [PATCH] feat(interactions): fetch_original_message() method --- melisa/models/interactions/interactions.py | 6 ++++++ melisa/rest.py | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/melisa/models/interactions/interactions.py b/melisa/models/interactions/interactions.py index f69f03b..a26f921 100644 --- a/melisa/models/interactions/interactions.py +++ b/melisa/models/interactions/interactions.py @@ -373,6 +373,12 @@ class Interaction(APIModelBase): ) ) + async def fetch_original_message(self) -> Message: + """Fetch Original Interaction Response from the Discord API.""" + return await self._client.rest.get_original_interaction_response( + self.application_id, self.token + ) + @dataclass(repr=False) class ResolvedData(APIModelBase): diff --git a/melisa/rest.py b/melisa/rest.py index cc0908e..7ebc053 100644 --- a/melisa/rest.py +++ b/melisa/rest.py @@ -113,6 +113,27 @@ class RESTApp: return _choose_channel_type(data) + async def get_original_interaction_response( + self, application_id: Union[Snowflake, str, int], interaction_token: str + ) -> Message: + """|coro| + + [**REST API**] Fetch Original Interaction Response from the Discord API. + + Parameters + ---------- + application_id : Union[:class:`~melisa.utils.snowflake.Snowflake`, str, int] + Id of interaction to fetch + interaction_token: str + Interaction token + """ + + data = await self._http.get( + f"/webhooks/{application_id}/{interaction_token}/messages/@original" + ) + + return Message.from_dict(data) + async def delete_message( self, channel_id: Union[Snowflake, str, int],