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
@commands.command()
async def id(self, ctx, *, user_id):
user = ctx.message.guild.get_member(user_id) or None
if user != None:
# Found the user
ctx.send(user)
else:
# Can't find the user
ctx.send("**Try that again**, this time add a user's id(**of this server**)")
9条答案
按热度按时间a6b3iqyw1#
如果你知道用户id,我建议你使用
bot.get_user(user_id)
。3duebb1j2#
如果你使用的是
commands
,你可以使用一个转换器:另外,你可以使用
Client.get_all_members
来获取你能看到的所有Member
对象。sxpgvts33#
您可以用途:
这将返回一个
discord.Member
对象。ozxc1zmp4#
这也将返回用户对象,但不返回成员对象。如果你想要成员对象,请按照AJ Lee's answer
xpcnnkqh5#
我不能对前面的答案写评论(因为声誉),但要确保这里的id是int类型。
4xrmg8kj6#
如果你已经有了ID,请调用
user = await ctx.bot.fetch_user(user_id)
。不要乱用权限。如果您只有用户名和标签,则可以用途:
注意,您还需要在代码中打开成员意图和Discord Developer Portal,以便调用
fetch_members()
cgh8pdjw7#
对我来说,只有这个有效,所以如果其他的都不起作用,你可以试试这个:
ryhaxcpt8#
有很多方法可以做到,但我用这个
lhcgjxsq9#
如果你想给一个特定的用户发送一条消息,那么应该这样做: