【问题标题】:Get Discord username from user ID (discord.py)从用户 ID 获取 Discord 用户名 (discord.py)
【发布时间】:2022-02-05 01:30:19
【问题描述】:

我正在尝试在 discord.py 中编写一个简单的游戏。分数存储在数据库中,由 Discord 用户 ID(整数)索引。

现在我想以易于阅读的格式显示高分。 为此,我试图从用户 ID(例如 354250329581841022)中获取 Discord 用户名(例如 Example#1234)。我有foundthis code:

user_hs = client.get_user(user_id)
print(user_hs.name)

但不幸的是,user_hs 始终为 None 类型并抛出一个错误,它没有属性 name

小例子:

import discord

client = discord.Client()


@client.event
   async def on_message(message):
      user_message = str(message.content)

      if user_message.lower() == '&hs':
         user_id = 354250329581841022
         user_hs = client.get_user(user_id)
         print(user_hs.name)

client.run(TOKEN)

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    缺少的是await。在fetch_user 之前添加它可以完美地工作:

    user = await client.fetch_user(id)
    await message.channel.send(f'{user}: {score} points')
    

    【讨论】:

      【解决方案2】:
      client.get_user(id_)
      

      这可行,那么您可以通过这种方式获取其用户名:

      client.get_user(id_).name
      

      如果返回值为None,则可能该用户不存在。

      【讨论】:

        猜你喜欢
        • 2019-12-30
        • 2021-07-18
        • 2021-02-06
        • 2023-04-11
        • 2021-05-07
        • 2019-05-03
        • 1970-01-01
        • 1970-01-01
        • 2022-06-12
        相关资源
        最近更新 更多