Discord.py tracking retaliation role
-
Bot has to check the role of the responder, but somehow he only trigs his messages and works normally, but when a living man pushes the reaction, he makes such a mistake:
Ignoring exception in on_raw_reaction_add Traceback (most recent call last): File "C:\Users\User\PycharmProjects\pybot\venv\lib\site-packages\discord\client.py", line 343, in _run_event await coro(*args, **kwargs) File "C:\Users\User\PycharmProjects\pybot\main.py", line 38, in on_raw_reaction_add add_role = discord.utils.get(member.guild.roles, id=906203003479015484) AttributeError: 'NoneType' object has no attribute 'guild'
How can you fix that? Code:
@bot.event async def on_raw_reaction_add(payload): message_id = payload.message_id channel_id = payload.channel_id channel = bot.get_channel(channel_id) message = await channel.fetch_message(message_id) user_id = payload.user_id member = channel.guild.get_member(user_id) add_role = discord.utils.get(member.guild.roles, id=906203003479015484) for role in member.roles: if role.name != 'admin': await member.add_roles(add_role)
-
member = discord.utils.get(channel.guild.members, id=user_id) add_role = discord.utils.get(member.guild.roles, id=906203003479015484) for role in member.roles: if role.name != 'admin': await member.add_roles(add_role)