diff --git a/interactions/api/http/http_client.py b/interactions/api/http/http_client.py index dd3061c1f..18a386dbf 100644 --- a/interactions/api/http/http_client.py +++ b/interactions/api/http/http_client.py @@ -319,7 +319,11 @@ def _process_payload( else: payload = [dict_filter(x) if isinstance(x, dict) else x for x in payload] - if not files: + if files is None: + return payload + + if files == []: + payload["attachments"] = [] return payload if not isinstance(files, list): diff --git a/interactions/models/discord/message.py b/interactions/models/discord/message.py index a214b8800..74324afa2 100644 --- a/interactions/models/discord/message.py +++ b/interactions/models/discord/message.py @@ -701,7 +701,7 @@ async def edit( ) message_payload = process_message_payload( content=content, - embeds=embeds or embed, + embeds=embed if embeds is None else embeds, components=components, allowed_mentions=allowed_mentions, attachments=attachments, diff --git a/interactions/models/internal/context.py b/interactions/models/internal/context.py index 1f826627f..a29ff3bd9 100644 --- a/interactions/models/internal/context.py +++ b/interactions/models/internal/context.py @@ -633,7 +633,7 @@ async def edit( ) -> "interactions.Message": message_payload = process_message_payload( content=content, - embeds=embeds or embed, + embeds=embed if embeds is None else embeds, components=components, allowed_mentions=allowed_mentions, attachments=attachments, @@ -875,7 +875,7 @@ async def edit_origin( message_payload = process_message_payload( content=content, - embeds=embeds or embed, + embeds=embed if embeds is None else embeds, components=components, allowed_mentions=allowed_mentions, tts=tts, @@ -889,13 +889,15 @@ async def edit_origin( ) message_data = await self.client.http.edit_interaction_message( - message_payload, self.client.app.id, self.token, files=files or file + message_payload, self.client.app.id, self.token, files=file if files is None else files ) self.deferred = False self.editing_origin = False else: payload = {"type": CallbackType.UPDATE_MESSAGE, "data": message_payload} - await self.client.http.post_initial_response(payload, str(self.id), self.token, files=files or file) + await self.client.http.post_initial_response( + payload, str(self.id), self.token, files=file if files is None else files + ) message_data = await self.client.http.get_interaction_message(self.client.app.id, self.token) if message_data: