1
votes

Comment obtenir les informations de l'utilisateur uniquement en utilisant l'identifiant de l'utilisateur? discord.py

Jusqu'à présent, je voulais juste obtenir les informations de l'utilisateur en utilisant son identifiant discord, je sais que je peux utiliser discord.Member à la place, mais je veux le faire avec son identifiant et faire comme k ! userinfo 326024842765664257

Y a-t-il un moyen?

Voici ce que j'ai essayé, mais cela n'a pas fonctionné:

@client.command()
async def userinfo(ctx, member: discord.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)

p >


0 commentaires

3 Réponses :


2
votes

Vous pouvez utiliser 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)


0 commentaires

1
votes

L'idée que vous avez eue avec discord.Member fonctionnera correctement avec l'ID. L'argument renverra un objet discord.Member en fonction de la question de savoir si vous donnez un attribut viable (tel que l'ID. De plus, cela signifie que vous n'avez pas à vous soucier d'utiliser un Client.get_user () ou Guild.get_member () .

De plus, si vous utilisez cette méthode, elle n'aura pas besoin d'être recodée ultérieurement si vous changez d'avis sur la façon dont vous souhaitez obtenir le membre. Vous pouvez également obtenir l'ID à partir de l'objet Membre si vous le désirez.

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)


0 commentaires

1
votes

Vous pouvez simplement utiliser .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)


0 commentaires