[英]How to get Member object from user id discord.py
我想从他们的 Id 中获取用户的昵称。 我有以下代码:
id = 235088799074484224 # User Id
member2 = bot.guilds[guild_id].get_member(id)
print(member2.nick)
但是代码报错:
Traceback (most recent call last):
File "C:\Users\Vlad\PycharmProjects\untitled\venv\lib\site-packages\discord\client.py", line 333, in _run_event
await coro(*args, **kwargs)
File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 61, in on_message
messages = await clean_up_messages(messages)
File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 21, in clean_up_messages
nick = await replace_nick(i.author.id)
File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 15, in replace_nick
return member2.display_name # or .nick
AttributeError: 'NoneType' object has no attribute 'display_name'
该错误似乎来自member2
始终为None
的事实。 无论我使用什么 id,它都是None
。
我已经阅读了文档并且bot.guilds[guild_id]
是正确的,但是get_member()
function 似乎导致了错误。
我该如何解决?
在新版本的 discord.py(1.5.x) 中,有一些关于Intents
的更新。 意图就像权限,您必须定义它才能获取频道、成员(如guild.get_member()
)和一些事件等。您必须在定义client = discord.Bot(prefix='')
之前定义它。
import discord
intents = discord.Intents().all()
client = discord.Bot(prefix='', intents=intents)
如果你想获得更多关于 Intents 的信息,你可以看看API 参考资料。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.