How to get a user's avatar with their id in discord.py?

I tried using the following code but it didn't work.

@bot.command()
async def avatar(ctx,*, avamember):
    user = bot.get_user(avamember)
    await ctx.send(f"{user.avatar_url}")

1 answer

  • answered 2020-01-18 11:49 Kelo

    I'm presuming you're Tagging the user with @UserNameHere in discord. It's much easier to take that input as a member Object :)

    You also don't need to wrap the url in quotes.

    This code is if it is in a cog:

    @commands.command()
    async def avatar(self, ctx, *,  avamember : discord.Member=None):
        userAvatarUrl = avamember.avatar_url
        await ctx.send(userAvatarUrl)
    

    This code is if it is in the main bot.py file:

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