【问题标题】:For discord.py, how would I turn the author's id into the discord user's actual name? [closed]对于 discord.py,我如何将作者的 id 变成不和谐用户的实际姓名? [关闭]
【发布时间】:2018-10-20 02:04:57
【问题描述】:

我在使用 message.author.id 时遇到问题。当我要求机器人返回用户 ID 时,它会返回...用户 ID。但这不是我想要的。我想让它说出用户的不和谐名称(例如,而不是像 13284701972315 那样,它会说 MyName #0000)。我正在制作一个机器人,它会根据命令给出布朗尼点数。这是它可能会说的内容和示例。

311661286213550091 已给 @AceFTW 22 个布朗尼积分。他们目前有 22 布朗尼点!

我想这样说:

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

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

【问题讨论】:

  • 嗯...我做了你让我做的一切... wat...
  • 拥有您正在使用的源代码肯定会有所帮助。目前我遇到了类似的问题,但我无法让(at)提及工作。
    如果您执行await ctx.send(ctx.message.author) 之类的操作,则应该为您提供 ID(MyName #0000)

标签: python discord.py


【解决方案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 对象,但有Guild(discord.py 0.x 中的Server),您可以使用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

【讨论】:

  • 还有User.mention,看起来就是他们要找的东西。
  • 好消息。将在感谢中编辑。
猜你喜欢
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 2020-11-15
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多