Disallowed Intents
Your bot asks Discord for a privileged intent (members, presences or message content) that is not enabled for your application. Discord closes the connection right after login.
What You See
Error: Used disallowed intents
discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents
that have not been explicitly enabled in the developer portal.
What Are Privileged Intents?
Intents tell Discord which events your bot wants to receive. Three of them give access to sensitive data, so they must be switched on manually in the Developer Portal:
| Portal toggle | discord.js | discord.py | Needed for |
|---|---|---|---|
| Presence Intent | GuildPresences | intents.presences | Online status, activities |
| Server Members Intent | GuildMembers | intents.members | Join/leave events, member list |
| Message Content Intent | MessageContent | intents.message_content | Reading message text (prefix commands like !ping) |
How to Fix It
- Open the Discord Developer Portal and select your application
- Go to the "Bot" page and scroll to "Privileged Gateway Intents"
- Enable the intents your code requests, then click "Save Changes"
- Restart your server on KataBump
Only enable what you actually use. If you don't need an intent, remove it from your code instead:
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent, // privileged: enable it in the portal
],
});
intents = discord.Intents.default()
intents.message_content = True # privileged: enable it in the portal
bot = commands.Bot(command_prefix="!", intents=intents)
Once your bot is in 100 servers or more, privileged intents require verification and approval by Discord. The toggles in the portal will be locked until then.
Bot Online but Ignores Prefix Commands
No error, the bot is online, but !ping does nothing? The Message Content intent is probably missing — without it, message text arrives empty. Enable it in the portal and in your code (examples above), or switch to slash commands, which don't need it.
Check the error index or open a ticket on Discord.