<p>使用<a href="https://discordpy.readthedocs.io/en/latest/api.html#member" rel="nofollow noreferrer">^{<cd1>}</a>的想法可以很好地使用ID。该参数将根据您是否提供可行的属性(例如ID)返回一个<code>discord.Member</code>对象。此外,这意味着您不需要麻烦使用<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Client.get_user" rel="nofollow noreferrer">^{<cd3>}</a>或<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Guild.get_member" rel="nofollow noreferrer">^{<cd4>}</a></p>
<p>此外,如果使用此方法,如果您改变了获取成员的方式,则不需要在以后对其重新编码。如果您愿意,还可以从成员对象获取ID</p>
<h2>代码:</h2>
<pre class="lang-py prettyprint-override"><code>@client.command()
async def userinfo(ctx, member: discord.Member):
memb_id = member.id
embedinfo = discord.Embed()
embedinfo.set_author(name=f"User info: {member.username}#{member.discriminator}") # changed from {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)
</code></pre>