Skip to content

Commit d65e2a0

Browse files
authored
fix: allow removing files and embeds by editing (#1697)
* fix: allow removing files and embeds by editing * style: run pre-commit hooks on all files
1 parent e893c18 commit d65e2a0

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

interactions/api/http/http_client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,11 @@ def _process_payload(
319319
else:
320320
payload = [dict_filter(x) if isinstance(x, dict) else x for x in payload]
321321

322-
if not files:
322+
if files is None:
323+
return payload
324+
325+
if files == []:
326+
payload["attachments"] = []
323327
return payload
324328

325329
if not isinstance(files, list):

interactions/models/discord/message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ async def edit(
701701
)
702702
message_payload = process_message_payload(
703703
content=content,
704-
embeds=embeds or embed,
704+
embeds=embed if embeds is None else embeds,
705705
components=components,
706706
allowed_mentions=allowed_mentions,
707707
attachments=attachments,

interactions/models/internal/context.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ async def edit(
633633
) -> "interactions.Message":
634634
message_payload = process_message_payload(
635635
content=content,
636-
embeds=embeds or embed,
636+
embeds=embed if embeds is None else embeds,
637637
components=components,
638638
allowed_mentions=allowed_mentions,
639639
attachments=attachments,
@@ -875,7 +875,7 @@ async def edit_origin(
875875

876876
message_payload = process_message_payload(
877877
content=content,
878-
embeds=embeds or embed,
878+
embeds=embed if embeds is None else embeds,
879879
components=components,
880880
allowed_mentions=allowed_mentions,
881881
tts=tts,
@@ -889,13 +889,15 @@ async def edit_origin(
889889
)
890890

891891
message_data = await self.client.http.edit_interaction_message(
892-
message_payload, self.client.app.id, self.token, files=files or file
892+
message_payload, self.client.app.id, self.token, files=file if files is None else files
893893
)
894894
self.deferred = False
895895
self.editing_origin = False
896896
else:
897897
payload = {"type": CallbackType.UPDATE_MESSAGE, "data": message_payload}
898-
await self.client.http.post_initial_response(payload, str(self.id), self.token, files=files or file)
898+
await self.client.http.post_initial_response(
899+
payload, str(self.id), self.token, files=file if files is None else files
900+
)
899901
message_data = await self.client.http.get_interaction_message(self.client.app.id, self.token)
900902

901903
if message_data:

0 commit comments

Comments
 (0)