到目前为止,我只想使用他们的不一致ID获取用户的信息,我知道我可以改用 discord.Member ,但我想使用他们的ID来做,就像{{1} }
有什么办法吗?
这是我尝试过的方法,但是没有用
k!userinfo 326024842765664257
答案 0 :(得分:1)
您可以使用Client.get_user()
。
@client.command()
async def userinfo(ctx, member_id: discord.Member.id):
member = client.get_user(member_id)
embedinfo = discord.Embed()
embedinfo.set_author(name=f"User info: {member}")
embedinfo.set_thumbnail(url=member.avatar_url)
embedinfo.add_field(name="Guild Name:", value=member.display_name)
embedinfo.add_field(name="Created on:", value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))
embedinfo.add_field(name="Joined on:", value=member.joined_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))
embedinfo.set_footer(text=f"Request by: {ctx.author}", icon_url=ctx.author.avatar_url)
await ctx.send(embed=embedinfo)
答案 1 :(得分:1)
您在discord.Member
中遇到的想法可以与ID配合使用。根据您是否提供可行的属性(例如ID),该参数将返回command: ["/bin/sh","-c"]
args: ["wget url && sleep infinity"]
对象。此外,这意味着您不必费心使用Client.get_user()
或{{3} }。
此外,如果您使用此方法,如果您改变主意如何获取成员,则以后无需重新编码。如果需要,您还可以从Member对象获取ID。
discord.Member
答案 2 :(得分:1)
您只需使用.id
@client.command()
async def userinfo(ctx, member):
memb_id = member.id
embedinfo = discord.Embed()
embedinfo.set_author(name=f"User info: {member.username}#{member.discriminator}")
embedinfo.set_thumbnail(url=member.avatar_url)
embedinfo.add_field(name="Guild Name:", value=member.display_name)
embedinfo.add_field(name="Created on:", value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))
embedinfo.add_field(name="Joined on:", value=member.joined_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))
embedinfo.set_footer(text=f"Request by: {ctx.author}", icon_url=ctx.author.avatar_url)
await ctx.send(embed=embedinfo)