Troubleshooting
Fix common platform, Stripe, subscription, payment recovery, and retention issues.
Use this page when something does not behave the way a server owner or member expects.
Bot cannot grant roles
Most role failures come from platform permissions or role hierarchy.
Check:
- The Arcalotl bot has Manage Roles (or Fluxer's equivalent permission).
- The Arcalotl bot role is above every paid role it needs to grant.
- The selected role is not
@everyone. - The role still exists on the connected server.
After fixing role hierarchy, ask the member to retry checkout or contact support if the payment already succeeded.
Stripe is not connected
If commands say there is no payment gateway, run:
/arcalotl setupOr open your community's Settings in the dashboard and press Connect Stripe. Complete Stripe Connect onboarding. Arcalotl can create checkout sessions only after the community has an active payment provider configuration.
Checkout link fails
Check:
- Stripe Connect setup is complete.
- The plan is active and still has a billing price.
- The member chose a current plan from
/subscribeor the subscribe channel.
If the plan was deleted or archived, create or import a new active plan.
Member paid but role was not granted
Check:
- The subscription shows as active or trialing.
- The bot can manage the paid role.
- The subscription is attached to the expected platform member.
- The plan's entitlement still contains the expected role mapping.
If the subscription is active and the bot can manage the role, support can
inspect the activity feed and event log. On Fluxer, also run /arcalotl ping
and confirm that the response identifies the intended community.
Payment recovery DM failed
Payment recovery tries a DM first. If Discord or Fluxer rejects the DM,
Arcalotl tries to create a private payment-help channel.
Check:
- The bot can create channels.
- The bot can view and send messages in the server.
- The server has not blocked channel creation for the bot role.
If the private channel cannot be created, the recovery attempt is marked sent to avoid a stuck loop. The member can still use /manage to open the billing portal.
Private payment-help channel was not created
The private fallback channel is best effort. It needs channel-management permissions on Discord or Fluxer to succeed.
Check:
- Create Channels permission
- View Channels permission
- Send Messages permission
- No server-level permission overwrite blocks the bot
The channel is deleted when payment recovery is resolved or exhausted.
Annual offer not appearing
Term optimization requires:
- Active monthly subscription
- Minimum tenure met, default 90 days
- No active payment recovery sequence
- Post-dunning cooldown complete, default 30 days
- No recent term optimization offer inside the cooldown, default 180 days
- Annual billing option on the same tier
- Annual price lower than 12 monthly payments
If any of those checks fail, Arcalotl skips the offer.
Cancel save not appearing
Cancel saves are based on the selected cancellation reason and the server's retention settings.
Check:
- Cancel saves are enabled.
- The reason maps to an offer.
- Discount and downgrade offers meet the tenure threshold, default 14 days.
- Downgrade has a lower related tier in the current plan's switch group with an active billing option for the same interval, or an exact downgrade plan is configured.
- The subscription has not accepted a save offer inside the repeat cooldown, default 180 days.
By default, switching and other do not show a save offer.
Access missing on a linked platform
Entitlements are granted per platform identity. If a member paid on Discord but has no roles on a linked Stoat server, check:
- The member has linked their account with
/link(Discord and Fluxer) or!retain link(Stoat) and redeemed the code on the other platform. - The plan's entitlement includes a grant for that platform. See Entitlements.
- The bot is present on the linked server and its role sits above the granted roles.
Members who link after buying receive their existing entitlements when the link completes.
Server link code rejected
Setup codes are one-time and expire after a few minutes.
Check:
- The code was generated for the platform you are linking.
- The code has not already been redeemed.
- The person redeeming it has Manage Server permission in the server being linked.
If the code expired, generate a new one from Settings, then Connect platform in the dashboard.
Fluxer command autocomplete is missing
This is expected. Arcalotl's Fluxer commands are typed / messages parsed by
the bot; they are not registered application commands and do not appear in
Fluxer's autocomplete. Type the full command, such as /subscribe or
/arcalotl setup.
If a command does not answer:
- Run
/pingto confirm that the bot gateway is online. - Run
/helpto verify command routing. - For admin commands, confirm that your Fluxer account has the server-management permission.
- For private commands, allow DMs from the server. Fluxer has no ephemeral bot replies, so Arcalotl fails closed when it cannot open a DM.
Fluxer server is linked to the wrong community
Open the intended community's Settings, then Connected Platforms, generate
a new Fluxer setup code, and run /arcalotl setup YOUR-CODE in the target
server. Codes are single use. If you disconnected a server or let a code
expire, generate a new code rather than reusing the old one.
Dashboard access denied
Sign in with Discord, Fluxer, or Google and choose a community where you have access. Admin access can come from connected-platform permissions or Arcalotl's configured admin list.
If access was recently changed, sign out and sign in again.