@client.event
async def on_member_join(member):
print(member)
role = discord.utils.get(member.guild.roles, name="☾│Unregister Of Hyperion")
await member.add_roles(role)
这是我的代码,它应该在加入用户时显示用户昵称,但不是。该机器人具有该角色,但不会打印。相同的代码可在我的其他机器人上使用。我不知道为什么它不起作用。
答案 0 :(得分:0)
在新版本的discord.py(1.5.x)中,对Intents
进行了一些更新。意图类似于权限,您必须定义意图以获取频道,成员和某些事件等。必须在定义client = discord.Bot(prefix='')
之前对其进行定义。
import discord
intents = discord.Intent().all()
client = discord.Bot(prefix='', intents=intents)
@client.event
async def on_member_join(member):
print(member)
role = discord.utils.get(member.guild.roles, name="☾│Unregister Of Hyperion")
await member.add_roles(role)
如果要获取有关Intent的更多信息,可以查看API References。