Skip to content

Troubleshooting

Bot offline, missing permissions, invalid API key, closed direct messages, videos too large and other problems with their fixes.

6 min read

Most problems have one of a few causes. Work through the matching section. If nothing helps, open a ticket in the support server with your server ID and the time it happened.

The bot is offline or does not respond

  1. Check status.modhelm.com. If the Discord bot component shows a problem, we are on it and nothing on your side is wrong.
  2. Make sure the bot is still in the server. Someone may have kicked it. Invite it again from modhelm.com/invite; your settings and history are kept.
  3. White label bots: open White label in the dashboard. If the status says Token rejected, the token was reset in the Developer Portal. Reset it again and enter the new one with Replace bot.
  4. Slash commands missing? Discord can take up to an hour to show new commands. If they never appear, kick the bot and invite it again with the official link, which includes the applications.commands scope.

"A server admin needs to accept the terms in the dashboard first"

The terms and the data processing agreement were not accepted yet, or a new version is waiting. An admin with Manage Server or Administrator opens Terms in the dashboard and accepts. See Getting started.

Reports do not appear in the channel

  1. Is a reports channel chosen under Settings > Channels & roles?
  2. Does the bot have View Channel, Send Messages, Embed Links, Attach Files and Read Message History in that channel? Check the channel's permission overrides, not only the server roles. The log channel shows "The bot may not post in #channel" when this is the problem.
  3. Are reports turned on under Settings > Reports?
  4. Open Reports in the dashboard. If the report is there but not in Discord, the post failed and will be retried once the permission is fixed.

Missing permissions for roles and nicknames

Log message: "The bot needs the Manage Roles permission, and its role has to be above the verified role."

  1. In Discord, open Server Settings > Roles and drag the bot's role above the verified and unverified roles.
  2. Make sure the bot's role has Manage Roles and, for nicknames, Manage Nicknames.
  3. The bot can never change the nickname of the server owner or of members whose highest role is above its own.
  4. Ask the member to open the verification page and click Sync my roles again.

The API key is invalid, expired or missing permissions

The Games page shows the state of every key. Match the message:

MessageFix
Key not validThe key was deleted, turned off or moderated. Create a new key and click Replace key.
This API key has expiredTurn Enable Key off and on again in the Creator Dashboard, or edit any property of the key, then Check again.
Missing permissionsAdd User Restrictions with Read and Write for your experience, then Check again.
The key doesn't include this experienceThe key is restricted to other experiences. Add this one.
Roblox is limiting requests right nowWait a minute. The key check allows about 20 checks per minute.

A ban that failed because of a key problem shows "failed" on the card. After you fixed the key, the pending change is retried automatically. Details in Connect a game.

A ban did not reach Roblox

  1. Look at the card: the sync line shows the state per game.
  2. Read the log channel entry. "The API key is not allowed to ban players in this game" means a missing write permission. "Roblox does not know this game" means a wrong Universe ID. "Roblox is busy right now" means Roblox returned a rate limit; the change is retried.
  3. Roblox allows only a couple of changes per player per minute. A second change right after the first waits about a minute.
  4. Check status.modhelm.com for the Roblox API component.

Players do not get direct messages

Discord lets everyone block DMs from server members, globally or per server. The bot then cannot deliver the message and stops trying for 24 hours.

  • Reporters: the ephemeral confirmation tells them to keep DMs from server members open. The result is also visible under My data in the portal.
  • Banned players: they also need a Discord account linked to the Roblox account through verification. Without it the bot does not know whom to message. The reason and duration are shown by Roblox anyway, and the appeal page works without DMs.
  • Unban requests: the status page in the portal always shows the current state.

Video too large or not playing

  • Discord accepts 20 MiB per file by default. The form shows the limit that applies to your server; boosted servers allow more.
  • Larger clips go through the portal, where the limit depends on your plan (50 MB, 200 MB or 500 MB).
  • Every video is converted in the background to a small MP4 so it plays inside the card. Until the conversion is done the card shows the original or a link to the dashboard viewer.
  • Supported formats: MP4, MOV and WebM for video, PNG, JPEG, GIF and WebP for images. Other formats are rejected with "This file type isn't supported".

"It's too early for an unban request"

This is not an error. The player is inside the waiting time. The message names the date from which a request is possible. Early requests are recorded with the reason "too early" so your team can see them, but they do not count as an attempt. Rules are under Settings > Appeals.

The custom domain stays on "Waiting for DNS"

  1. Click Check DNS. The page shows which record is missing.
  2. CNAME: the name has to point to custom.modhelm.com. TXT: the name is _modhelm.<your-domain> with the exact token from the dashboard.
  3. DNS changes can take a few minutes, sometimes hours.
  4. Cloudflare users: set the record to DNS only (grey cloud).
  5. The imprint and privacy policy links must be set under Settings > Portal before the domain goes live.

Someone cannot open the dashboard

Dashboard access follows Discord roles. The person needs Administrator, Manage Server, or one of the admin or moderator roles chosen under Settings > Team & API. Roles are checked on every request, so a change in Discord applies at once. See Team and permissions.

Sign in with Roblox fails

  • The player has to be at least 13 years old on Roblox; younger accounts cannot use Roblox sign in.
  • "Your Roblox sign-in has expired": the sign in is only kept for one hour. Start again.
  • If Roblox itself shows an error, the player can use /appeal in Discord with a linked account instead, or contact support.

Getting help

Open a ticket in the support server with: your server ID, what you did, what you expected, what happened instead, the time, and a screenshot of the card or error. Never post API keys or bot tokens.