Как я могу получить чью-то фотографию на Discord, чтобы редактировать ее с помощью PIL? - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь сделать некоторый код на python, чтобы отредактировать чью-то фотографию профиля, но все, что у меня есть до сих пор, это:

image = ctx.message.author.avatar_url
background = Image.open(image)

Очевидно, что он просто получает сам URL, но мне нужносамо изображение для редактирования изображения с помощью PIL.Любое понимание того, как его получить?

1 Ответ

0 голосов
/ 01 марта 2019
with requests.get(ctx.message.author.avatar_url) as r:
    img_data = r.content
with open('image_name.jpg', 'wb') as handler:
    handler.write(img_data)

Поэтому я немного поигрался с этой ссылкой:

https://cdn.discordapp.com/avatars/190434822328418305/6a56d4edf2a82409ffc8253f3afda455.png

И я смог сохранить свое собственное изображение аватара (то, которое я использую для своих аккаунтов везде).Затем я смог регулярно открывать файл с помощью приложения для просмотра фотографий в Pycharm.

После этого он просто стал бы открытием нового файла JPEG с помощью PIL или подушки вместо попытки открыть что-либо с веб-сайта., если это имеет смысл.

Вам следует учесть, что это сохранит файл на вашем бот-сервере Discord, так что это очень грубо, неправильно сформированный или злонамеренно сформированный файл jpeg может привести к некоторой удаленной уязвимости.

Помимо вашего комментария, если вы хотите, чтобы размер загружаемого изображения был больше, например, пожалуйста, см. Исправленную ссылку ниже, чтобы решить вашу проблему там:

https://cdn.discordapp.com/avatars/190434822328418305/6a56d4edf2a82409ffc8253f3afda455.png?size=<Number from list [16,32,64,128,256,512,1024,2048]>

Надеюсь, что этопомогает:)

...