我有一个用户 ID 列表,我想找到名称最长的用户。 但是当我使用 bot.get_user(id) 时,它返回 None 。 我检查了该 ID,它是有效的并且确实对应于服务器上的用户。 代码:
for score in scores:
bad_chars = "<@!>"
for letter in score:
if letter in bad_letters:
score = score.replace(letter, "")
print(score)
print(bot.get_user(int(score.strip("<@! >"))))
member_len = bot.get_user(int(score.strip("<@ >")))
if member_len:
print(len(member_len.name))
if len(member_len.name) > score_len:
score_len = len(member_len.name)
print(score_len)
最佳答案
在新版本的discord.py(1.5.x)中,有一些关于Intents
的更新。 Intents和权限类似,你必须定义Intents来获取 channel 、成员和一些事件等。你必须在定义client = discord.Bot(prefix='')
之前定义它。 .
import discord
intents = discord.Intents().all()
client = discord.Bot(prefix='', intents=intents)
如果你想获得更多关于Intents的信息,你可以查看API References .
关于python - 如何获取最长的用户名? (不和谐.py),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64562347/