You change your server’s verification level to a stricter setting, and suddenly your bot’s reaction roles stop granting or removing roles when members click emoji reactions. This happens because Discord’s API blocks the bot from interacting with users who do not meet the new verification requirements. In this article, you will learn the exact cause of this failure, how to fix it, and what other server settings can interfere with reaction roles.
Key Takeaways: Restoring Bot Reaction Roles After Verification Level Change
- Server Settings > Moderation > Verification Level: Lowering this to Low or Medium lets the bot process reaction roles for all users, including new members.
- Server Settings > Moderation > Explicit Content Filter: Setting this to Scan media from all members can block bot interactions with users who have no avatar or server history.
- Bot Role Position > Server Settings > Roles: The bot’s role must be above the roles it assigns; otherwise, the bot cannot modify those roles.
Why Changing Verification Level Breaks Reaction Roles
Discord servers have a verification level that controls who can send messages and interact in the server. The four levels are None, Low, Medium, High, and Highest. When you increase the verification level, Discord requires users to meet stricter criteria before they can interact. For example, at High, a user must have a verified phone number on their Discord account.
Reaction roles are managed by bots that use Discord’s Gateway API to listen for reaction events. When a user adds a reaction, the bot attempts to add or remove a role. However, if the user does not meet the server’s verification level, Discord’s API blocks the bot from performing that action. The bot receives an error code 50013 Missing Permissions even if the bot has Administrator permissions. This is because Discord enforces verification restrictions at the API level, not just at the permission level.
Additionally, if the verification level is set to High or Highest, users who joined before the change may fail to meet the new requirements. They will appear as not verified to the bot, and the bot cannot assign roles to them. The bot also cannot remove roles from these users because the API considers the action as modifying a member who does not meet the verification gate.
Steps to Fix Reaction Roles After Verification Level Change
- Open Server Settings
Right-click your server name in the channel list and select Server Settings from the context menu. - Go to Moderation Settings
In the left sidebar, click the Moderation category. This section contains the Verification Level and Explicit Content Filter options. - Change Verification Level to Low or Medium
Click the dropdown next to Verification Level. Select Low to require only a verified email, or Medium to require a registered Discord account older than 5 minutes. Do not use High or Highest if you want reaction roles to work for all members. - Save the Change
Click the Save Changes button at the bottom of the page. Discord applies the new level immediately. - Test a Reaction Role
Go to the channel where your reaction roles are set up. Have a member who previously could not get a role click a reaction emoji. The bot should now assign the role correctly.
Alternative Fix: Use a Bot with the Manage Roles Permission
- Check Bot Permissions
Right-click the bot’s name in the member list and select Roles. Ensure the bot has the Manage Roles permission. If not, go to Server Settings > Roles, find the bot’s role, and enable Manage Roles. - Move Bot Role Above Target Roles
In Server Settings > Roles, drag the bot’s role so it is above every role the bot is supposed to assign. Discord requires the bot’s highest role to be above the roles it modifies. - Test Again
Ask a member to test a reaction role. If it still fails, the verification level is the likely cause.
If Discord Bot Reaction Roles Still Have Issues After the Main Fix
Bot Goes Offline After Verification Level Change
Some bots, especially older ones, may crash or disconnect when the server’s verification level increases. This happens because the bot’s token or session becomes invalidated by Discord’s API when the server configuration changes. To fix this, kick the bot from the server and re-invite it using a new OAuth2 URL with the correct permissions. After re-inviting, the bot will reconnect and resume processing reaction roles.
Reaction Roles Work for Some Users but Not Others
If you set the verification level to High, only users with a verified phone number can receive reaction roles. Users without a phone number will see the bot fail silently. To resolve this, either lower the verification level to Medium or ask affected users to add a phone number to their Discord account. You can check a user’s verification status by clicking their name and viewing the User Info section.
Explicit Content Filter Blocks Bot Interactions
The Explicit Content Filter setting in Server Settings > Moderation can also block bot actions. If set to Scan media from all members, Discord may prevent the bot from reading reaction events from users who have no avatar or who joined recently. Change this setting to Scan media from members without a role to reduce interference while still filtering explicit content.
Discord Verification Levels: None vs Low vs Medium vs High vs Highest
| Item | None | Low | Medium | High | Highest |
|---|---|---|---|---|---|
| Requirement | No restriction | Verified email | Account older than 5 minutes | Verified phone number | Verified phone number and member of server for 10+ minutes |
| Reaction role impact | Works for all | Works for all with email | Works for all with 5+ min account | Fails for users without phone | Fails for most new users |
| Recommended for reaction roles | Yes | Yes | Yes | No | No |
Bot reaction roles stop working after a verification level change because Discord enforces the new requirements at the API level, preventing the bot from modifying roles for users who do not meet the gate. By lowering the verification level to Low or Medium, you restore the bot’s ability to assign and remove roles. Always ensure the bot’s role is above the roles it manages, and check the Explicit Content Filter if issues persist. For servers that require high security, consider using a custom bot that can handle verification checks internally without relying on Discord’s built-in verification level.