1. Check the permission on the bot’s role
Open Server Settings → Roles and select the bot’s role. Check Manage Roles, then save. If you cannot edit that role, ask a server administrator. Changing your own permissions does not grant the bot the same permissions.
2. Put the bot above the reward role
For example, a safe order is Moderator → Bot → Level 5 → Member. The bot can then give Level 5 without being above Moderator. If Level 5 sits above Bot, granting Manage Roles alone will not fix it. Use the bot’s highest role when checking this order.
3. Make sure the target role can be assigned
Choose a normal server role. Do not choose @everyone, another app’s managed role, or a subscription-managed role. If a configured role was deleted and recreated, select the new role in the bot settings: the same name does not mean the same role ID.
4. Check the rule that should give the role
For reaction roles, verify the message and role mapping. For verification, check that the correct panel is being used. For level rewards, confirm the required level and whether the bot applies rewards to members who already passed it. A correct permission setup does not trigger a rule by itself.
5. Retest with one ordinary member
Ask a consenting member to try the relevant action once. Confirm the role appears in their profile, then check the bot’s response and audit log if it does not. If the role appears and disappears, look for another bot or rule removing it. Record the exact error without sharing tokens.
These Discord permission rules apply whether you use acrO, MEE6, Dyno or Carl-bot. Their configuration menus and reward behavior differ; follow the documentation of the bot you use.