discord.py on_member_join() 的问题

discord.py problems with on_member_join()

我做错了什么?

@bot.event
async def on_member_join(member):
    print(f"{member} join")
    role_1 = member.guild.get_role(start_role_id)
    await member.add_roles(role_1)

我在论坛上搜索了很长时间的答案,但没有任何帮助。

您是否在 Discord Developer Portal 中启用了 intents?在初始化机器人时添加 intents=discord.Intents.all()。我还修复了你的代码。

bot = commands.Bot(command_prefix='', intents=discord.Intents.all())

@bot.event
async def on_member_join(member):
    print(f"{member} join")
    role1 = discord.utils.get(member.server.roles, id=role_id)
    await member.add_roles(role1)

试试这个:

bot = commands.Bot(command_prefix='PREFIX_HERE',     
intents=discord.Intents.all())

@bot.event
async def on_member_join(member):
    print(f"{member} has joined")
    my_role = discord.utils.get(member.guild.roles, id=role_id)
    await member.add_roles(my_role)