Intents control which Gateway event data your bot requests. Permissions control actions in a server or channel. Giving a bot more permissions does not supply a missing intent, and enabling an intent does not grant moderation rights.
Identify which part failed
| Observation | Start here |
|---|---|
| Expected event never reaches the handler | Requested intents, event name and library configuration |
| Event arrives but message content is empty | Message-content access and the event context |
| Send or moderation request is denied | Effective channel permissions and role hierarchy |
| Gateway closes with an intent error | Portal access, requested flags and current access requirements |
Privileged intents must be enabled for the application and may require Discord review. Check the current Developer Portal requirements for your app; do not rely on an old server-count rule copied from a tutorial. Request only the data your feature needs.
Check the actual channel and target
Channel overwrites can change a bot role’s effective permissions. Moderation and role management also depend on role hierarchy. An administrator-level test can conceal the real missing permission, so reproduce the action using the intended production permissions.
- Use a private test server and one reproducible event or action.
- Log the event name and non-sensitive identifiers, not complete message payloads.
- Check the bot role and the specific channel overwrites.
- For role or moderation actions, compare the bot role with the target role or member.
- Adjust the smallest necessary permission or intent, restart if configuration changed, and retest.
Prove the feature works with ordinary accounts
Test with a member who has the same permissions as your users. Include a denied-action case so the bot returns a useful message rather than retrying forever. Remove temporary broad permissions after the diagnosis.
If an event arrives but the command times out, continue with interaction response timing. Test access changes in a separate bot deployment.
Sources and references
Hosting documentation. Publication and update dates reflect this edition.
Related articles
- Fixing “The Application Did Not Respond” on Discord CommandsTrace command delivery, acknowledgement and follow-up work instead of blaming server ping alone.2 min read
- Storing and Rotating Discord Bot Tokens SafelyKeep credentials out of source files, replace exposed tokens and verify the running deployment uses the new secret.2 min read
- Updating a Discord Bot with a Separate Test DeploymentTest dependencies, commands and database changes without running competing copies of your production bot.2 min read
