Я хочу отправить 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)