Home > Mobile >  discord.py problems with on_member_join()
discord.py problems with on_member_join()

Time:02-08

What am I doing wrong?

@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)

I searched for answers on the forums for a long time and nothing helped.

CodePudding user response:

I used this code and worked:

role = get(member.guild.roles, id=role_id)
await member.add_roles(role)

CodePudding user response:

Try this:

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(message.guild.roles, id=role_id)
    await member.add_roles(my_role)

CodePudding user response:

Did you enable intents in Discord Developer Portal? while initializing bot add intents=discord.Intents.all(). Also I fixed your code.

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)
  •  Tags:  
  • Related