发布用户头像命令

Command for posting user's avatar

@bot.command(aliases=['av'])
async def avatar(ctx, *,  avamember : discord.Member = None):
    userAvatarUrl = avamember.avatar_url
    await ctx.send(userAvatarUrl)

我想要 post 提到的用户头像的命令。如果没有提到用户,它应该post我自己的头像。

您可以检查member是否为None,然后使用ctx.author的头像:

@bot.command(aliases=['av'])
async def avatar(ctx, *,  member : discord.Member = None):
if member == None:
    user_avatar_url = ctx.author.avatar_url
else: 
    user_avatar_url = member.avatar_url
await ctx.send(user_avatar_url)

正如前面的回答所说,如果你没有提到用户,你需要添加一个 if 语句,但我将代码更新为一些好的东西(比如将它嵌入到一个嵌入中以使其更漂亮):

@bot.command(aliases = ['av'])
async def avatar(ctx, member : discord.Member = None):
    if member == None:
        member = ctx.author # It will show your avatar if you didn't mention a user (if statement)
        embed = discord.Embed(title = f"{member.name}'s avatar", color = 0x2F3136)
        em.set_image(url = member.avatar_url) # Shows the avatar
        em.set_footer(text = f'Requested by {ctx.author}', icon_url = ctx.author.avatar_url)
        await ctx.send(embed = em)

稍后谢谢我:D

@bot.command(aliases=["av"])
async def avatar(ctx, *, member: discord.Member = None):
    if member!=None:
        pfp = member.avatar_url
        embed = discord.Embed(title=f"{member.name}'s profile picture!")
        embed.set_image(url=pfp)
        await ctx.send(embed=embed)
    else:
        author = ctx.message.author
        pfp = author.avatar_url
        embed = discord.Embed(title=f"{author.name}'s profile picture!")
        embed.set_image(url=pfp)
        await ctx.send(embed=embed)