Home > Net >  Discord py - reaction role
Discord py - reaction role

Time:02-20

** want to make reaction role which if user react message on specific channel will get role but it doesn't work**

@client.event
async def on_reaction_add(member):
  ChannelID = 932268491556405268
  role = discord.utils.get(member.guild.roles, id=941124409341648957)
  if member.message.channel.id != ChannelID:
    return
  if member.emoji == "1️⃣":
    await member.add_roles(role, reason=None, atomic=True)

CodePudding user response:

You can use the payload object from on_raw_reaction_add to do what you want

@client.event
async def on_raw_reaction_add(payload):  # Requires Intents.reactions
    channel = client.get_channel(...)
    guild = client.get_guild(payload.guild_id)
    role = discord.utils.get(guild.roles, id=...)

    if str(payload.emoji) == "1️⃣":
        await payload.member.add_roles(role, atomic=True)
        await channel.send(...)
  • Related