discord.py:通过id查找用户
discord.py: Lookup user by id
我是使用 Python 制作 Discord 机器人的新手。我有一个用户 ID 列表,我需要能够将它们解析为 Discord 用户名。 运行 client.get_user(my_id)
returns 我的带有鉴别器的 Discord 用户名,除了它对其他任何人都不起作用,而且它在 100% 的时间里都不适用于我的用户名。根据 documentation,我应该能够 运行 它用于任何用户 ID,但它 returns None 无论如何。无论我查找什么,我总是得到相同的答案 -- client.get_user()
这让我发疯。我对 运行 机器人的代码如下
client = commands.Bot(command_prefix = '.b ')
client.remove_command('help')
------
client.run(TOKEN)
不确定这是否正是问题所在。 get_user
不适用于任何不在该机器人公会中的用户。但是,fetch_user
将适用于所有用户:
await client.fetch_user(user_id)
确保 user_id
是整数,而不是字符串。此外,请谨慎使用它,因为它是一个 API 调用,因此会受到速率限制。
如果您是 运行 discord.py v1.5,请参阅 this documentation page 了解如何为您的机器人启用特权意图。这是最近的一项更改,可以解释为什么您的机器人看不到任何用户。
我是使用 Python 制作 Discord 机器人的新手。我有一个用户 ID 列表,我需要能够将它们解析为 Discord 用户名。 运行 client.get_user(my_id)
returns 我的带有鉴别器的 Discord 用户名,除了它对其他任何人都不起作用,而且它在 100% 的时间里都不适用于我的用户名。根据 documentation,我应该能够 运行 它用于任何用户 ID,但它 returns None 无论如何。无论我查找什么,我总是得到相同的答案 -- client.get_user()
这让我发疯。我对 运行 机器人的代码如下
client = commands.Bot(command_prefix = '.b ')
client.remove_command('help')
------
client.run(TOKEN)
不确定这是否正是问题所在。 get_user
不适用于任何不在该机器人公会中的用户。但是,fetch_user
将适用于所有用户:
await client.fetch_user(user_id)
确保 user_id
是整数,而不是字符串。此外,请谨慎使用它,因为它是一个 API 调用,因此会受到速率限制。
如果您是 运行 discord.py v1.5,请参阅 this documentation page 了解如何为您的机器人启用特权意图。这是最近的一项更改,可以解释为什么您的机器人看不到任何用户。