---
title: "Discord Gateway Intents Calculator"
description: "Choose the gateway events your Discord bot needs and get the intents integer plus ready-to-paste code for discord.js and discord.py."
url: "https://sillydev.co.uk/tools/discord-intents-calculator"
updated: "2026-09-28"
---

Free tool

# Discord gateway intents calculator

Choose the events your bot needs, and get the intents value and the code to request them in discord.js or discord.py. The privileged ones are flagged, with what to switch on in the Developer Portal.

[← All free tools](https://sillydev.co.uk/tools)

Start from:

Intents

Guilds Servers, channels, roles and threads being created, changed or deleted. Almost every bot needs it.

Server members Privileged Members joining, leaving and being updated, and the full member list.

Moderation Bans, unbans and audit log entries.

Expressions Emoji, sticker and soundboard changes.

Integrations Integrations being added or removed.

Webhooks Webhooks being created or changed in a channel.

Invites Invites being created or deleted.

Voice states Who is in which voice channel. Required for any music bot.

Presences Privileged Online status and activity ("Playing …") of members.

Server messages Messages sent, edited and deleted in server channels.

Server reactions Reactions added and removed in server channels. Needed for reaction roles.

Server typing "User is typing" in server channels.

Direct messages Messages sent to the bot in DMs.

DM reactions Reactions in DMs.

DM typing "User is typing" in DMs.

Message content Privileged The text, embeds and attachments of messages. Without it, message events arrive with empty content, except messages that mention the bot and DMs.

Scheduled events Server events being scheduled, changed and joined.

AutoMod configuration AutoMod rules being created or changed.

AutoMod execution AutoMod acting on a message.

Server polls Votes on polls in server channels.

DM polls Votes on polls in DMs.

Intents value

`1`

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

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
    ],
});
```

## What intents are

When a bot connects to Discord it says which groups of events it wants to receive, and Discord sends only those. Each group is an intent. Ask for too few and your event handlers silently never fire; ask for too many and your bot spends memory and bandwidth on events it ignores.

Three intents are privileged: server members, presences and message content. A bot has to request them in code and have them switched on for it in the Developer Portal, under Bot, Privileged Gateway Intents. If the code asks for one the portal has not enabled, Discord closes the connection with error 4014, "Disallowed intent(s)".

## Intents and memory

Intents decide what your bot is told about, and libraries keep much of what they are told in memory. A bot with the server members and presences intents in large servers ends up holding every member and every status change, and that is often what pushes a small bot past its memory limit.

If your bot only answers slash commands, it may need nothing beyond Guilds. Leaving out what you do not use is the cheapest memory saving there is.

FAQ

## Questions

**Why is message.content empty?**

Because the message content intent is not enabled. Without it, Discord still sends message events but leaves out the text, embeds and attachments, except in direct messages and in messages that mention your bot. Enable it in the Developer Portal and request it in code.

**How do I fix "Used disallowed intents"?**

Your code requests a privileged intent that is not switched on for the bot. Open your application in the Developer Portal, go to Bot, and switch on the intents your code requests under Privileged Gateway Intents, or stop requesting them in code.

**Do privileged intents need approval?**

Not while your bot is small. Once it is in 100 or more servers it has to be verified, and privileged intents then have to be applied for and approved by Discord, with a reason for each.

**Is intents the same number as permissions?**

No. Intents choose which events your bot receives; permissions choose what it is allowed to do in a server. They are separate numbers, set in different places, and a bot needs the right value of each.

Common errors

- [4014 Disallowed intents Your code asks for a privileged intent the Developer Portal has not switched on.](https://sillydev.co.uk/errors/discord-4014-disallowed-intents)
- [Heap out of memory Node ran out of memory. Usually a cache growing without limit, sometimes a leak.](https://sillydev.co.uk/errors/javascript-heap-out-of-memory)

Run your bot 24/7, free

- [Discord bot hosting Host it free →](https://sillydev.co.uk/discord-bot-hosting)
- [Node.js Host it free →](https://sillydev.co.uk/nodejs-discord-bot-hosting)
- [Python Host it free →](https://sillydev.co.uk/python-discord-bot-hosting)

More free tools

- [Timestamp generator Turn a date and time into a &lt;t:…> tag that every reader sees in their own time zone, or decode one.→](https://sillydev.co.uk/tools/discord-timestamp-generator)
- [Permissions calculator Tick the permissions your bot needs, get the integer and a ready-made invite link, or decode an existing one.→](https://sillydev.co.uk/tools/discord-permissions-calculator)
