如何使用 discord.py 机器人抓取并发送我服务器上任何人的头像?

How do I grab and send the profile picture of anyone on my server using a discord.py bot?

过去几天我一直在使用 discord.py 开发一个不和谐的机器人。现在我正在尝试执行一个命令来显示您在服务器上提到的任何人的个人资料图片。

问题是我只能得到它给发送命令的人的头像。我无法在不遇到错误或机器人忽略它的情况下接受第二个参数。

@client.command(aliases=['getprofilepic','getprofilepicture','pfp','profilepic','profilepicture','avatar'])
async def getpfp(ctx):
    await ctx.send(ctx.author.avatar_url)

上面的代码是将发送命令的用户的个人资料图片发送到聊天中的命令。 它会忽略任何额外的参数,因此无法显示除发件人以外的任何其他人的头像。

getpfp(ctx): 更改为 getpfp(ctx, usernamepfp): 并将 ctx.send(ctx.author.avatar_url) 更改为 ctx.send(ctx.usernamepfp.avatar_url) 无效。

我也试过ctx.send(usernamepfp.avatar_url).

我将如何实施该命令,以便在聊天中键入 .getpfp @username 时它会发送 @username 的个人资料图片而不是发件人?

from discord import Member

@bot.command()
async def getpfp(ctx, member: Member = None):
 if not member:
  member = ctx.author
 await ctx.send(member.avatar_url)

您可以使用getpfp通过传递1)Mention/Tag 2)显示名称/昵称3)Discord ID来显示用户的头像。 eg .getpfp @Someone