BaumSplitter41 hace 1 semana
padre
commit
5f5163fee6
Se han modificado 1 ficheros con 10 adiciones y 2 borrados
  1. 10 2
      VPD_BOT/cogs/reaction_roles.py

+ 10 - 2
VPD_BOT/cogs/reaction_roles.py

@@ -149,13 +149,17 @@ class reactionroles(commands.Cog):
             if payload.emoji.name == emojis[i]:
                 try:
                     await member.add_roles(roles[i])
+                except Exception as e:
+                    print(f"Failed to add role {roles[i].name} to user {member.name}: {e}")
+                    break
+                try:
                     channel = self.bot.get_channel(payload.channel_id)
                     if channel is not None:
                         message = await channel.fetch_message(message_id)
                         await message.remove_reaction(payload.emoji, member)
                     break
                 except Exception as e:
-                    print(f"Failed to add role {roles[i].name} to user {member.name}: {e}")
+                    print(f"Failed to remove reaction {payload.emoji} from user {member.name}: {e}")
                     break
             else:
                 print(f"Emoji {payload.emoji} does not match {emojis[i]} for role {roles[i].name}.")
@@ -202,13 +206,17 @@ class reactionroles(commands.Cog):
             if payload.emoji.name == emoji:
                 try:
                     await member.remove_roles(role)
+                except Exception as e:
+                    print(f"Failed to remove role {role.name} from user {member.name}: {e}")
+                    break
+                try:
                     channel = self.bot.get_channel(payload.channel_id)
                     if channel is not None:
                         message = await channel.fetch_message(message_id)
                         await message.remove_reaction(payload.emoji, member)
                     break
                 except Exception as e:
-                    print(f"Failed to remove role {role.name} from user {member.name}: {e}")
+                    print(f"Failed to remove reaction {payload.emoji} from user {member.name}: {e}")
                     break
             else:
                 print(f"Emoji {payload.emoji} does not match {emoji} for role {role.name}.")