如何在 discord.py 中获取带有 id 的用户头像?

2022-01-15 00:00:00 python discord 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}")

对于遇到类似问题的任何人,虽然文档中没有提到,但 discord.Member 可以将用户 ID 放在 @username 之外,因此不需要复杂的方法.

For anyone that had a similar problem, while not mentioned in the docs, discord.Member can take user ids aside from @username so there isn't any need for a complicated way.


解决方案

我假设您在不和谐地使用 @UserNameHere 标记用户.将该输入作为成员对象要容易得多:)

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

您也不需要将 url 括在引号中.

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

如果它在 cog 中,则此代码:

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)

此代码是否在主 bot.py 文件中:

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)

相关文章