Add support for file/attachment descriptions

This commit is contained in:
Josh
2022-02-18 20:23:02 +10:00
committed by GitHub
parent 7f54c45886
commit 08bee0eeb6
5 changed files with 57 additions and 40 deletions

View File

@ -142,7 +142,7 @@ class AsyncWebhookAdapter:
file.reset(seek=attempt)
if multipart:
form_data = aiohttp.FormData()
form_data = aiohttp.FormData(quote_fields=False)
for p in multipart:
form_data.add_field(**p)
to_send = form_data
@ -487,28 +487,32 @@ def handle_message_parameters(
files = [file]
if files:
for index, file in enumerate(files):
attachments = []
for index, file in enumerate(files):
attachment = {
"id": index,
"filename": file.filename,
}
if file.description is not None:
attachment["description"] = file.description
attachments.append(attachment)
payload['attachments'] = attachments
multipart.append({'name': 'payload_json', 'value': utils._to_json(payload)})
payload = None
if len(files) == 1:
file = files[0]
for index, file in enumerate(files):
multipart.append(
{
'name': 'file',
'name': f'files[{index}]',
'value': file.fp,
'filename': file.filename,
'content_type': 'application/octet-stream',
}
)
else:
for index, file in enumerate(files):
multipart.append(
{
'name': f'file{index}',
'value': file.fp,
'filename': file.filename,
'content_type': 'application/octet-stream',
}
)
return ExecuteWebhookParameters(payload=payload, multipart=multipart, files=files)