---
title: "Erro Used disallowed intents no bot Discord: como corrigir"
description: "Corrija o erro Used disallowed intents (4014) e o bot que não lê mensagens: ative as intents privilegiadas no Developer Portal e declare no código."
url: "https://streethosting.com.br/guias/bots-discord/bot-discord-erro-intents-privilegiadas"
category: "bots-discord"
slug: "bot-discord-erro-intents-privilegiadas"
datePublished: "2026-11-13"
dateModified: "2026-11-13"
author: "Equipe StreetHosting"
difficulty: "iniciante"
language: "pt-BR"
keywords:
  - "used disallowed intents discord"
  - "discord bot 4014 disallowed intents"
  - "message content intent discord.js"
  - "discord.py privileged intents"
  - "bot discord nao le mensagens"
  - "verificacao bot discord 100 servidores"
---

# Erro de intents privilegiadas no bot Discord: Used disallowed intents e bot que não lê mensagens

O bot cai na hora de conectar com Used disallowed intents, ou conecta e não enxerga o texto das mensagens. As duas coisas têm a mesma raiz: as intents privilegiadas precisam estar ligadas no portal e declaradas no código.

> **Resposta rápida**
>
> O erro **Used disallowed intents** (código de fechamento `4014`) acontece quando o código pede uma intent privilegiada que não está ligada no Discord Developer Portal. Abra o aplicativo, entre na aba **Bot**, ative **Presence Intent**, **Server Members Intent** e/ou **Message Content Intent** conforme o que o bot usa, salve e reinicie o bot. O código também precisa declarar a mesma intent, em `GatewayIntentBits` no discord.js ou em `discord.Intents` no discord.py.

## O que o erro significa

Quando o bot conecta ao gateway do Discord, ele informa quais tipos de evento quer receber. Cada tipo é uma intent. Entrada de membro, mensagem criada e mudança de status são exemplos de eventos que dependem de intents. Isso reduz o volume de dados que chega ao bot e protege os usuários, porque nem todo bot precisa saber quem está online ou o que as pessoas escrevem.

Três dessas intents são **privilegiadas**: o Discord só entrega depois que o dono do aplicativo as liga manualmente no portal. Se o seu código pede uma delas e o portal está com o interruptor desligado, o Discord recusa a conexão e encerra com o código 4014. A mensagem aparece de formas diferentes conforme a biblioteca:

- **discord.js:** `Error [DisallowedIntents]: Privileged intent provided is not enabled or whitelisted`.
- **discord.py:** `discord.errors.PrivilegedIntentsRequired`, com um texto dizendo que o shard pede intents privilegiadas não habilitadas no portal.
- **Outras bibliotecas e logs do gateway:** `Used disallowed intents` ou simplesmente `4014`.

Um erro parecido é o `4013`, Invalid intent(s). Ele indica um valor de intents que o Discord nem reconhece, geralmente por número montado à mão com erro. Não é o caso aqui: o 4014 sempre é uma intent válida que não está liberada para o aplicativo, seja porque está desligada no portal, seja porque o bot já é verificado e a intent não foi aprovada.

## As três intents privilegiadas

| Intent no portal | Nome no discord.js | Para que serve |
| --- | --- | --- |
| Presence Intent | GuildPresences | Status online ou offline, atividade atual e o que o membro está jogando ou ouvindo |
| Server Members Intent | GuildMembers | Eventos de entrada, saída e atualização de membros, e a lista completa de membros do servidor |
| Message Content Intent | MessageContent | O texto das mensagens dos usuários, incluindo anexos, embeds e componentes |

Na prática, quase todo erro de intents vem de um destes três casos:

- **Comandos com prefixo, como !ping:** o bot precisa ler o texto da mensagem, então exige Message Content.
- **Boas vindas, contador de membros e cargo automático:** o evento de entrada de membro exige Server Members.
- **Status do membro e atividade:** bots de estatística, de presença e de listas de quem está online exigem Presence.

> **Dica**
>
> Ligue só o que o bot usa de verdade. Cada intent privilegiada aumenta o volume de eventos e, quando o bot crescer, será uma justificativa a mais para o Discord analisar na verificação. Um bot que só responde a slash commands não precisa de nenhuma das três.

## Ativar no Developer Portal

1. Abra o Discord Developer Portal e entre com a conta dona do aplicativo.
2. Escolha o aplicativo do bot em **Applications**. Confirme que é o mesmo cujo token está no seu código.
3. No menu lateral, abra a aba **Bot** e role até a seção **Privileged Gateway Intents**.
4. Ligue o interruptor das intents que o código usa: **Presence Intent**, **Server Members Intent** e/ou **Message Content Intent**.
5. Clique em **Save Changes**. Sem salvar, nada muda.
6. Reinicie o bot. A conexão antiga continua valendo até o processo ser reiniciado, e quem pede as intents é a conexão nova.

> **Atenção**
>
> Ligar no portal não basta, e declarar no código também não. As duas pontas precisam concordar. Intent ligada no portal e ausente no código faz o bot conectar normalmente e simplesmente não receber os eventos. Intent no código e desligada no portal gera o 4014.

## Declarar no discord.js v14

No discord.js as intents vão na criação do cliente. Para ler mensagens de texto em um servidor, não basta a Message Content: o bot também precisa de `Guilds` e `GuildMessages` para receber o evento de mensagem.

```
import { Client, Events, GatewayIntentBits } from "discord.js";

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent, // privilegiada
    GatewayIntentBits.GuildMembers, // privilegiada
    // GatewayIntentBits.GuildPresences, // privilegiada, só se precisar
  ],
});

client.once(Events.ClientReady, (c) => {
  console.log(`Online como ${c.user.tag}`);
});

client.on(Events.MessageCreate, (message) => {
  if (message.author.bot) return;
  if (message.content === "!ping") {
    message.reply("pong");
  }
});

client.login(process.env.DISCORD_TOKEN);
```

Se você apagar a linha da `MessageContent` e deixar a intent desligada no portal, o erro 4014 some, mas o `message.content` passa a chegar vazio em quase todas as mensagens. É por isso que o caminho certo é decidir primeiro se o bot realmente precisa ler texto. Para o token do exemplo vir de um arquivo seguro, veja [como guardar o token do bot em variáveis de ambiente](https://streethosting.com.br/guias/bots-discord/bot-discord-token-seguro-variaveis-ambiente).

## Declarar no discord.py

No discord.py você monta um objeto de intents, liga o que precisa e passa para o cliente ou para o bot. O padrão do `Intents.default()` já inclui as intents comuns e deixa de fora as privilegiadas.

```
import os

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True  # privilegiada
intents.members = True  # privilegiada
# intents.presences = True  # privilegiada, só se precisar

bot = commands.Bot(command_prefix="!", intents=intents)


@bot.event
async def on_ready():
    print(f"Online como {bot.user}")


@bot.command()
async def ping(ctx):
    await ctx.send("pong")


bot.run(os.getenv("DISCORD_TOKEN"))
```

Se a intent não estiver ligada no portal, o `bot.run` termina com `PrivilegedIntentsRequired`. O texto do erro cita o endereço do portal, mas não diz qual intent está faltando, então confira uma por uma as que o código liga. Para bots em Python que ficam no ar o dia todo, o guia de [hospedagem de bot Discord em Python](https://streethosting.com.br/guias/bots-discord/hospedar-bot-discord-python-24-7) mostra o restante da configuração.

## O bot conecta mas não lê mensagens

O segundo sintoma é mais traiçoeiro porque não gera erro nenhum. O bot fica online, responde a alguns comandos, mas o `message.content` chega como texto vazio e os comandos com prefixo nunca disparam. Sem a Message Content Intent, o Discord ainda entrega o evento da mensagem, só que esvazia o texto. As exceções são poucas: mensagens enviadas pelo próprio bot, DMs com o bot, mensagens que mencionam o bot e a mensagem em que alguém usa um comando de menu de contexto do bot.

Percorra esta lista na ordem:

1. **A Message Content Intent está ligada na aba Bot?** Salvou depois de ligar?
2. **O código declara MessageContent?** No discord.js também precisa de GuildMessages. No discord.py, de `intents.message_content = True` antes de criar o bot.
3. **O processo foi reiniciado depois da mudança?** Um bot que continua rodando mantém as intents da conexão antiga.
4. **O token é do aplicativo certo?** Quem tem vários aplicativos de teste acaba ligando a intent em um e rodando o token de outro.
5. **O bot tem permissão de ver o canal?** Intent não substitui permissão: sem a permissão Ver canal, ele não recebe as mensagens dali.

Para o diagnóstico completo, incluindo processo parado, token inválido e rate limit, siga o checklist de [bot Discord offline ou que não responde](https://streethosting.com.br/guias/bots-discord/corrigir-bot-discord-offline-nao-responde).

> **Dica**
>
> Antes de ligar a Message Content, avalie trocar os comandos com prefixo por slash commands. Eles não dependem de ler mensagens, aparecem no menu do Discord e dispensam qualquer aprovação futura. A comparação está em [slash commands ou comandos com prefixo](https://streethosting.com.br/guias/bots-discord/bot-discord-slash-vs-prefix-commands).

## Verificação a partir de 100 servidores

A liberdade de ligar o interruptor por conta própria tem um limite. Enquanto o bot está em menos de 100 servidores, as três intents privilegiadas são só interruptores no portal. Ao chegar em 100 servidores, o Discord exige que o bot seja **verificado**, e as intents privilegiadas deixam de ser automáticas: cada uma precisa ser solicitada e aprovada.

- **Verificação do bot:** feita no portal, na aba de verificação do aplicativo. O Discord pede dados de identidade do responsável e confere se o bot segue os termos para desenvolvedores. Sem ela, o bot não entra em novos servidores depois de bater o limite.
- **Aprovação das intents privilegiadas:** cada intent exige uma justificativa escrita, explicando para que o bot precisa dela e como ela melhora a experiência de quem usa. Pedidos vagos costumam ser negados.
- **Intent negada:** o bot continua funcionando sem ela. Comandos com prefixo param de ler texto, então a saída é migrar para slash commands.

> **Atenção**
>
> Não deixe a verificação para o último dia. Os prazos de análise variam e o bot que fica no limite sem verificar não consegue entrar em servidores novos. Quem já passou de 100 servidores deve pesquisar o processo atual na documentação oficial do Discord, porque as regras e os formulários mudam. Se o bot cresce, vale conhecer também o [sharding para muitos servidores](https://streethosting.com.br/guias/bots-discord/bot-discord-sharding-muitos-servidores).

## Onde rodar o bot

Intents são configuração do aplicativo no Discord e do código, então o erro não depende da hospedagem: o 4014 se corrige do mesmo jeito em qualquer lugar. O que a hospedagem muda é a rotina depois do ajuste, porque você precisa reiniciar o processo para a nova conexão pedir as intents certas.

- **Hospedagem de bots:** os planos de [hospedagem de bots da StreetHosting](https://streethosting.com.br/bots) rodam containers com painel para Node.js e Python, só para bots de Discord. O Discord Essential custa R$ 9,99 por mês e inclui 1 GB de RAM e até 2 bots. Depois de mexer nas intents, reinicie o bot pelo painel.
- **Primeiro bot do zero:** se você ainda está montando o projeto, o guia de [como criar o seu primeiro bot de Discord](https://streethosting.com.br/guias/bots-discord/criar-primeiro-bot-discord-do-zero) cobre a aplicação, o token e a escolha das intents desde o começo.

## Perguntas frequentes

### O que significa Used disallowed intents?

Significa que o código pediu ao Discord uma intent privilegiada, como Message Content ou Server Members, que não está ligada na aba Bot do Developer Portal. O Discord fecha a conexão com o código 4014. A correção é ligar a mesma intent no portal ou parar de pedir no código.

### Preciso da Message Content Intent para usar slash commands?

Não. Slash commands, botões, menus e formulários chegam ao bot como interações, que não dependem do conteúdo das mensagens. A Message Content serve para ler o texto que as pessoas digitam, como em comandos com prefixo.

### Ativei a intent no portal e o erro continua. O que falta?

Confira se você salvou as alterações na aba Bot, se está no aplicativo certo e se reiniciou o bot depois. O processo antigo pode continuar rodando com a conexão anterior. Confirme também que o token do código é do mesmo aplicativo onde você ligou a intent.

### Qual o limite de servidores para usar intents privilegiadas sem aprovação?

Enquanto o bot está em menos de 100 servidores, você liga as intents privilegiadas por conta própria no portal. Com 100 ou mais, o bot precisa ser verificado e as intents privilegiadas passam por aprovação do Discord, com justificativa do uso.

### O discord.py tem o mesmo problema?

Tem. Sem a intent ligada no portal, o discord.py levanta a exceção PrivilegedIntentsRequired ao conectar. No código você também precisa declarar, por exemplo intents.message_content = True, antes de criar o cliente.

## Guias relacionados

- [Como criar o seu primeiro bot de Discord do zero](https://streethosting.com.br/guias/bots-discord/criar-primeiro-bot-discord-do-zero.md)
- [Bot de Discord offline ou sem responder: como diagnosticar](https://streethosting.com.br/guias/bots-discord/corrigir-bot-discord-offline-nao-responde.md)
- [Slash commands vs prefix commands no bot Discord: qual usar](https://streethosting.com.br/guias/bots-discord/bot-discord-slash-vs-prefix-commands.md)
- [Sharding no Discord: escalar um bot para muitos servidores](https://streethosting.com.br/guias/bots-discord/bot-discord-sharding-muitos-servidores.md)
- [Token do bot Discord seguro: .env, .gitignore e o que fazer se vazar](https://streethosting.com.br/guias/bots-discord/bot-discord-token-seguro-variaveis-ambiente.md)

## Produtos citados

- https://streethosting.com.br/bots

## Dados estruturados

```json
[
  {
    "@context": "https://schema.org",
    "@type": [
      "Article",
      "TechArticle"
    ],
    "headline": "Erro de intents privilegiadas no bot Discord: Used disallowed intents e bot que não lê mensagens",
    "name": "Erro Used disallowed intents no bot Discord: como corrigir",
    "abstract": "O bot cai na hora de conectar com Used disallowed intents, ou conecta e não enxerga o texto das mensagens. As duas coisas têm a mesma raiz: as intents privilegiadas precisam estar ligadas no portal e declaradas no código.",
    "description": "Corrija o erro Used disallowed intents (4014) e o bot que não lê mensagens: ative as intents privilegiadas no Developer Portal e declare no código.",
    "datePublished": "2026-11-13",
    "dateModified": "2026-11-13",
    "author": {
      "@type": "Organization",
      "name": "Equipe StreetHosting"
    },
    "publisher": {
      "@type": "Organization",
      "name": "StreetHosting",
      "url": "https://streethosting.com.br"
    },
    "inLanguage": "pt-BR",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://streethosting.com.br/guias/bots-discord/bot-discord-erro-intents-privilegiadas"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "O que significa Used disallowed intents?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Significa que o código pediu ao Discord uma intent privilegiada, como Message Content ou Server Members, que não está ligada na aba Bot do Developer Portal. O Discord fecha a conexão com o código 4014. A correção é ligar a mesma intent no portal ou parar de pedir no código."
        }
      },
      {
        "@type": "Question",
        "name": "Preciso da Message Content Intent para usar slash commands?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Não. Slash commands, botões, menus e formulários chegam ao bot como interações, que não dependem do conteúdo das mensagens. A Message Content serve para ler o texto que as pessoas digitam, como em comandos com prefixo."
        }
      },
      {
        "@type": "Question",
        "name": "Ativei a intent no portal e o erro continua. O que falta?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Confira se você salvou as alterações na aba Bot, se está no aplicativo certo e se reiniciou o bot depois. O processo antigo pode continuar rodando com a conexão anterior. Confirme também que o token do código é do mesmo aplicativo onde você ligou a intent."
        }
      },
      {
        "@type": "Question",
        "name": "Qual o limite de servidores para usar intents privilegiadas sem aprovação?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Enquanto o bot está em menos de 100 servidores, você liga as intents privilegiadas por conta própria no portal. Com 100 ou mais, o bot precisa ser verificado e as intents privilegiadas passam por aprovação do Discord, com justificativa do uso."
        }
      },
      {
        "@type": "Question",
        "name": "O discord.py tem o mesmo problema?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tem. Sem a intent ligada no portal, o discord.py levanta a exceção PrivilegedIntentsRequired ao conectar. No código você também precisa declarar, por exemplo intents.message_content = True, antes de criar o cliente."
        }
      }
    ]
  }
]
```
