Reputation: 15
I am following Anson the Developers tutorial, (here's a link) and I coded exactly as he did, I got no errors, except a warning Parameter 'payload' value is not used
and I have made sure that:
heres the code for reference:
import discord
client = discord.Client()
@client.event
async def on_message(message):
if message.author == client.user:
return
@client.event
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == '756794977148993597':
guild_id = payload.guild_id
guild = discord.utils.find(lambda g: g.id == guild_id, client.guilds)
role = discord.utils.get(guild.roles, name=payload.emoji.name)
if role is not None:
member = discord.utils.find(lambda m: m.id == payload.user_id, guild.members)
if member is not None:
await member.add_roles(role)
print("done")
else:
print("member not found")
else:
print("role not found")
client.run('REDACTED')
I have tried a lot of troubleshooting and any help would be appreciated!
Upvotes: 1
Views: 491
Reputation: 3426
You should not use utils.find
in your case.
guild.get_member_named
if you want to use a name.@client.event
async def on_raw_reaction_add(payload):
if payload.message_id == 756794977148993597:
guild = client.get_guild(payload.guild_id)
role = discord.utils.get(guild.roles, name=payload.emoji.name)
if role is not None:
member = guild.get_member(payload.user_id)
if member is not None:
await member.add_roles(role)
print("done")
else:
print("member not found")
else:
print("role not found")
Upvotes: 1