Common Discord Sync Issues
Most sync issues fall into a handful of categories. Work through the relevant section below before reaching out to support.
Bot Permission Errors
Symptom: PayBru logs show "Missing Permissions" or roles are not assigned.
Fix:
- Open Server Settings > Roles in Discord.
- Click the PayBru bot role.
- Confirm the following permissions are enabled: ManageRoles, ViewAuditLog, BanMembers, ManageChannels, SendMessages, EmbedLinks.
- If you use channel-specific permission overrides, make sure none of them deny the bot's access.
If you revoke the bot's permissions and re-grant them, you may need to reconnect the integration from your PayBru dashboard.
Role Hierarchy Problems
Symptom: The bot can assign some roles but not others.
Cause: Discord requires a bot's role to be higher in the role list than any role it tries to assign. If you added a new tier role above the PayBru bot role, the bot cannot manage it.
Fix:
- Go to Server Settings > Roles.
- Drag the PayBru role above every role it needs to manage.
- Click Save Changes.
Delayed Sync
Symptom: A member subscribes but their role appears minutes later instead of instantly.
Possible causes:
- Discord API rate limits. During busy periods, Discord throttles API calls. PayBru inserts a 50ms delay between individual role assignments to stay within limits, which can add up on large servers.
- Webhook delivery delay. Payment processor webhooks occasionally lag by a few seconds to a few minutes.
- Background reconciliation pending. If the real-time event was missed, the role will be corrected during the next 5-minute role sync cycle.
If the delay exceeds 10 minutes, try a manual resync from the dashboard.
Members Not Getting Roles
Symptom: A member has an active subscription but no Discord role.
Checklist:
- Has the member linked their Discord account? Members must connect their Discord account via OAuth on their PayBru profile. If they have not, PayBru cannot identify them in your server.
- Is the member in your server? PayBru checks guild membership via the Discord REST API (with a 5-minute cache) before assigning roles. The member must have already joined the server. Share your server invite link on your PayBru page.
- Is the role mapping configured and active? Check Creator Dashboard > Settings > Integrations > Discord > Role Mappings and confirm the member's tier has an active mapping (IsActive = true).
- Is the subscription active? Verify the member's status under Creator Dashboard > Members. A failed payment may have moved them to PastDue or Ended status.
Roles Removed Unexpectedly
Symptom: A member loses their role even though they are still subscribed.
Possible causes:
- A server moderator manually removed the role. PayBru will reassign it during the next 5-minute role sync.
- The member's payment failed and the 3-day grace period expired.
- The role mapping was deleted, deactivated, or changed.
- The mapping has RemoveOnTierLoss=true and the member was downgraded or cancelled.
If you do not want a role to be removed on cancellation or downgrade, set RemoveOnTierLoss = false on the mapping. See Role Mapping Basics for details.
Check the Sync Log on your dashboard for a detailed event history.
Health Check and Permission Monitoring
PayBru runs an automated health check every 30 minutes that:
- Verifies the bot still has the required permissions in your server.
- Detects missing permissions (ManageRoles, ViewAuditLog, BanMembers, ManageChannels, SendMessages, EmbedLinks).
- Cleans up stale data from disconnected servers.
If the health check detects a problem, PayBru notifies the community owner. There is a 7-day grace period before the first notification is sent, so transient issues (like brief permission changes during server reorganization) will not trigger alerts immediately.
If you receive a health check notification, review your bot's permissions in Server Settings > Roles and ensure the PayBru role has all required permissions enabled.
Bot Appears Offline
Symptom: The PayBru bot shows as offline in the member list.
The bot does not need to appear online to function. PayBru manages roles via API calls, not through a persistent bot presence. As long as the integration shows Connected on your dashboard, role management is active.
If the dashboard shows Disconnected, re-authorize the bot by clicking Reconnect in your integration settings.
Error Handling
PayBru handles sync errors as follows:
- Sync failures are logged but there is no automatic retry mechanism. The next scheduled sync cycle (every 5 minutes) will attempt the operation again.
- Partial failures are allowed: if one member's role assignment fails, PayBru continues processing the remaining members rather than stopping the entire sync.
- Disconnected servers are skipped gracefully, without blocking sync for other communities.