Невозможно отправить пустое сообщение при загрузке файла - PullRequest
1 голос
/ 13 января 2020

Я хочу отправить discord.png в текстовый канал, используя Python и Discord API, но получаю сообщение об ошибке:

{"message": "Невозможно отправить пустое сообщение "," code ": 50006"}

Я думаю, что сделал все, как сказано в документации, и я не знаю, в чем проблема. Я знаю, я мог бы просто использовать уже существующую python библиотека для этого (например, discord.py), но я играю только с API, и я не могу понять, в чем здесь проблема.

headers = {"Authorization": f"Bot {TOKEN}", "Content-Type": "multipart/form-data"}

f = open("discord.png", "rb")
file_data = f.read()
f.close()

file_data = base64.b64encode(file_data).decode()

payload_json = '{"content": "Discord", "tts": False}'
data = {
    "content": "Discord",
    "tts": False,
    "file": file_data
}

headers["User-Agent"] = "DiscordBot"
#headers["Content-Type"] = "multipart/form-data" #edited but then realised i already set the content-type
headers["Content-Disposition"] = 'form-data; name="file" filename="discord.png"'

r = requests.post(f"{http_api}/channels/{CHANNEL_ID}/messages", data, headers=headers)
print(r.content)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...