@@ -644,8 +644,9 @@ def handle_message_parameters(
644
644
payload ["embeds" ] = [] if embed is None else [embed .to_dict ()]
645
645
if content is not MISSING :
646
646
payload ["content" ] = str (content ) if content is not None else None
647
+ _attachments = []
647
648
if attachments is not MISSING :
648
- payload [ "attachments" ] = [a .to_dict () for a in attachments ]
649
+ _attachments = [a .to_dict () for a in attachments ]
649
650
650
651
if view is not MISSING :
651
652
payload ["components" ] = view .to_components () if view is not None else []
@@ -674,32 +675,35 @@ def handle_message_parameters(
674
675
payload ["allowed_mentions" ] = previous_allowed_mentions .to_dict ()
675
676
676
677
multipart = []
678
+ multipart_files = []
677
679
if file is not MISSING :
678
680
files = [file ]
679
681
680
682
if files :
681
- multipart .append ({"name" : "payload_json" , "value" : utils ._to_json (payload )})
682
- payload = None
683
- if len (files ) == 1 :
684
- file = files [0 ]
685
- multipart .append (
683
+ for index , file in enumerate (files ):
684
+ multipart_files .append (
686
685
{
687
- "name" : "file " ,
686
+ "name" : f"files[ { index } ] " ,
688
687
"value" : file .fp ,
689
688
"filename" : file .filename ,
690
689
"content_type" : "application/octet-stream" ,
691
690
}
692
691
)
693
- else :
694
- for index , file in enumerate (files ):
695
- multipart .append (
696
- {
697
- "name" : f"file{ index } " ,
698
- "value" : file .fp ,
699
- "filename" : file .filename ,
700
- "content_type" : "application/octet-stream" ,
701
- }
702
- )
692
+ _attachments .append (
693
+ {
694
+ "id" : index ,
695
+ "filename" : file .filename ,
696
+ "description" : file .description ,
697
+ }
698
+ )
699
+
700
+ if _attachments :
701
+ payload ["attachments" ] = _attachments
702
+
703
+ if multipart_files :
704
+ multipart .append ({"name" : "payload_json" , "value" : utils ._to_json (payload )})
705
+ payload = None
706
+ multipart += multipart_files
703
707
704
708
return ExecuteWebhookParameters (payload = payload , multipart = multipart , files = files )
705
709
0 commit comments