(Лучший ответ, который я видел в этой проблеме: https://stackoverflow.com/a/42544963/714112 , скопирован здесь, так как этот поток выглядит высоко в ранжировании поиска Google, но это другой нет)
Ошибка говорит вам, что в какой-то момент discord.py
получил объект JpegImageFile
, ожидая объект, который поддерживает .startswith(b'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A')
. Это, как вы уже догадались, байтовоподобный объект.
Таким образом, вы должны использовать объект bytes
вместо объекта PIL; и это даже делает ваш код проще, потому что у вас был байтовый объект с самого начала:
response = requests.get(url)
img = response.content
await message.guild.create_custom_emoji(name=emoji_name, image=img)