我该如何在Discord上获取某人的个人资料照片以使用PIL对其进行编辑?

时间:2019-02-28 22:16:56

标签: python image image-processing python-imaging-library discord.py

我正在尝试在python上编写一些代码来编辑某人的个人资料图片,但到目前为止,我所得到的只是这一点:

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

显然,这只是获取URL本身,但我需要图像本身才能使用PIL编辑图片。关于如何获得它的任何见解?

1 个答案:

答案 0 :(得分:0)

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中的照片查看器应用程序定期打开文件。

之后,如果可能的话,这将仅仅是使用PIL或枕头打开新jpeg文件而不是尝试从网站打开任何文件的情况。

您应该考虑到这会将文件保存到Discord bot服务器上,因此这是非常粗糙的,格式错误或格式错误的jpeg文件可能会导致某种远程漏洞。

此外,例如,如果您希望下载的图像更大,请参见下面的修改链接以解决您的问题:

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

希望这会有所帮助:)