【发布时间】:2021-08-11 07:53:02
【问题描述】:
我在 python 中使用请求上传文件时遇到问题。
非工作代码:
import requests
url = 'https://discord.com/api/v9/channels/XXXXX/messages'
headers = {
'authorization': 'XXXXX'
}
data = {
'file': open('test.png', 'rb')
}
r = requests.post(url=url, headers=headers, data=data)
print(r)
print(r.text)
这是我得到的回复:
<Response [400]>
{"message": "Cannot send an empty message", "code": 50006}
所以我尝试添加到数据"content": "Whoas"
data = {
'file': open('test.png', 'rb'),
"content": "Whoas"
}
现在至少会发送消息,但没有文件。 这是我得到的回复:
<Response [200]>
{"id": "XXXXX", "type": 0, "content": "Whoas", "channel_id": "XXXXX", "author": {"id": "XXXXX", "username": "XXXXX", "avatar": "XXXXX", "discriminator": "2885", "public_flags": 0}, "attachments": [], "embeds": [], "mentions": [], "mention_roles": [], "pinned": false, "mention_everyone": false, "tts": false, "timestamp": "2021-05-22T09:08:47.061000+00:00", "edited_timestamp": null, "flags": 0, "components": [], "referenced_message": null}
我很可能只是不理解 discord API 文档 (https://discord.com/developers/docs/resources/channel#create-message),遗憾的是它没有详细说明如何上传文件。
我已尝试将模块 discord.py 与 discord.File('test.png') 一起使用,但此方法不会返回我需要的上传文件的链接。
如果有人知道如何让它工作,将不胜感激!
【问题讨论】:
标签: discord