Discord.py从id / tag获取用户对象

时间:2019-02-03 04:07:10

标签: discord discord.py

所以我试图从ID或标签中获取用户对象,但是我使用的是用户帐户而不是Bot帐户,所以我不能使用 get_user_info() 有没有办法在用户帐户上执行此操作?

5 个答案:

答案 0 :(得分:1)

如果您使用的是commands,则可以使用转换器

@bot.command(pass_sontext=True)
async def mycommand(ctx, user: discord.User):
    # user is a User object

否则,您可以使用Client.get_all_members获取所有可见的Member对象。

from discord.utils import get

user = get(bot.get_all_members(), id="1234")
if user:
    # found
else:
    # Not found

答案 1 :(得分:1)

您可以使用

ctx.message.server.get_member("id") or message.server.get_member("id")

Will return you a discord.Memebr object

谢谢

答案 2 :(得分:1)

ctx.message.server.get_member(id) 或 message.server.get_member(id)

我无法对上一个答案发表评论(由于声誉原因),但请确保此处的 id 为 int 类型。

答案 3 :(得分:0)

我知道用户ID,建议使用

user = bot.get_user(user_id)

代替(documentation here)。

答案 4 :(得分:0)

对我来说,只有这个有效,所以如果其他人都无效,你可以试试这个:

user = await message.guild.query_members(user_ids=[userid]) # list of members with userid
user = user[0] # there should be only one so get the first item in the list