对于discord.py,如何将作者的ID转换为不和谐用户的实际名称?

时间:2018-05-09 21:09:34

标签: python discord.py

我遇到了message.author.id的问题。当我要求机器人返回用户的ID时,它会返回井...用户ID。但这不是我想要的。我希望它说出用户的不和名(例如,而不是像13284701972315那样会说MyName#0000)。我正在制作一个可以根据命令发出布朗尼点的机器人。这里以及它可能会说的例子。

  

311661286213550091给了@AceFTW 22个布朗尼点数。他们目前有22人   布朗尼点!

我希望这样说:

  

@tristan360给了@AceFTW 22个布朗尼点数。他们目前有22人   布朗尼点!

我正在寻找机器人显示用户名称而不是用户ID的方法。

1 个答案:

答案 0 :(得分:1)

如果您已有Member个对象,则可以立即访问该名称。

# member is <Member id=... name=MyName#0000>
member.name  # MyName
member.nick  # MyNick
member.display_name  # MyNick if nick is not None, else MyName
member.mention  # @MyName
str(member)  # MyName#0000

如果您没有Member个对象,但在discord.py 0.x中有GuildServer),则可以使用Guild.get_member方法

member = guild.get_member(userID)
member.name  # MyName

如果您根本没有任何信息,可以使用Client.get_user_info方法。请注意,这会返回User而不是Member,因此您无权访问昵称,角色等。

user = bot.get_user_info(userID)
user.name  # MyName
user.nick  # Error