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

Node.js (discord.js)
Error: Used disallowed intents
Python (discord.py)
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 togglediscord.jsdiscord.pyNeeded for
Presence IntentGuildPresencesintents.presencesOnline status, activities
Server Members IntentGuildMembersintents.membersJoin/leave events, member list
Message Content IntentMessageContentintents.message_contentReading message text (prefix commands like !ping)

How to Fix It

  1. Open the Discord Developer Portal and select your application
  2. Go to the "Bot" page and scroll to "Privileged Gateway Intents"
  3. Enable the intents your code requests, then click "Save Changes"
  4. Restart your server on KataBump

Only enable what you actually use. If you don't need an intent, remove it from your code instead:

Node.js
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent, // privileged: enable it in the portal
    ],
});
Python
intents = discord.Intents.default()
intents.message_content = True  # privileged: enable it in the portal

bot = commands.Bot(command_prefix="!", intents=intents)
Bots in 100+ Servers

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.

Still Stuck?

Check the error index or open a ticket on Discord.

Esc
Type to search the docs…