代码之家  ›  专栏  ›  技术社区  ›  tristan360

为了不和谐。py,如何将作者的id转换为discord用户的实际名称?[已关闭]

  •  -1
  • tristan360  · 技术社区  · 6 年前

    我的留言有问题。著者id。当我要求机器人返回用户id时,它会返回井。。。用户ID。但这不是我想要的。我希望它显示用户的不一致名称(例如,与13284701972315不同,它会显示MyName#0000)。我正在制作一个机器人,它可以根据命令发出布朗尼点数。下面是它可能会说什么的示例。

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

    我想这样说:

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

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   Sam Rockett    6 年前

    如果你有 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
    

    如果您没有 成员 对象,但确实有 Guild ( Server 不和谐。py 0。x、 )您可以使用 Guild.get_member 方法

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

    如果您在开始时没有任何信息,可以使用 Client.get_user_info 方法注意,这将返回 User 不是一个 成员 ,因此您将无法访问昵称、角色等。

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