Python discord.py/Image:如何用Image编辑ctx.author的个人资料图片,并将其重新添加到



嘿,我试着在discord上获取头像图片,然后在上面添加文本,最后在tchat中发送回来。

所以我尝试了这个来获得用户的图像:

  • 步骤1:获取用户头像url
  • 步骤2:获取更改url以获得正确大小的图片
  • 步骤3:请求图像
  • 步骤4:使用image.open打开图像

这是我完成这些步骤的代码:

@bot.command(name="pic")
async def get_pic(ctx):
url = f"{str(ctx.author.avatar_url)[:-4]}128" # get url and change 1024 to 128
avatar = Image.open(urllib.request.urlopen(url))

不幸的是,我收到一个错误403:禁止。如何解决这个问题?

您可以使用User.avatar_url_as以所需大小获取代表化身的Asset对象,将数据读取到类似文件的对象中,然后使用PIL 打开该类似文件的物体

from PIL import Image
from io import BytesIO
@bot.command(name="pic")
async def get_pic(ctx):
asset = ctx.author.avatar_url_as(size=128)
data = BytesIO(await asset.read())
image = Image.open(data)

它像这样描述

HTTP响应代码403表示禁止访问请求的资源。服务器理解该请求,但不会完成。

意味着服务器收到了你的请求,但你没有权限,我想

编码快乐!

相关内容

最新更新