过去几天,我一直在使用discord.py开发一个discord机器人。现在,我正在尝试实现一个命令,以显示您在服务器上提及的任何人的个人资料图片。
问题是我只能得到发送命令的人的个人资料图片。我不能让它接受第二个参数,而不会遇到错误或机器人忽略它。
@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
的个人资料图片,而不发送发件人的图片?
答案 0 :(得分:1)
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)提及/标记2)显示名称/昵称3)不和ID来显示用户的头像。
eg .getpfp @Someone