Ao enviar uma mensagem usando um webhook do Discord, o conteúdo do embed é limitado a um total de 6000 caracteres em todos os campos. Esse limite se aplica ao título, descrição, nomes de campos, valores de campos, rodapé e nome do autor combinados. A restrição existe porque o Discord processa os embeds como um único payload e impõe um limite de tamanho para evitar spam e problemas de desempenho. Este artigo explica exatamente quais partes do embed contam para o limite de 6000 caracteres, como o limite é calculado e o que acontece quando você o excede.
Principais Conclusões: Limite de Caracteres em Embeds de Webhook do Discord
- O limite total de caracteres do embed é 6000: Isso inclui título, descrição, nomes de campos, valores de campos, rodapé, autor e texto do timestamp combinados.
- Limites individuais de campo ainda se aplicam: Nomes de campos têm no máximo 256 caracteres, valores de campos 1024, descrição 4096 e título 256.
- Exceder 6000 caracteres trunca o embed: O Discord descarta silenciosamente o excesso de dados e pode retornar um erro 400 Bad Request.
Como o Discord Calcula o Limite de 6000 Caracteres do Embed
Os embeds de webhook do Discord são objetos JSON enviados via requisições HTTP POST. A plataforma impõe um limite total de 6000 caracteres no conteúdo textual combinado de todos os campos do embed. Esse limite não é um teto no comprimento bruto da string JSON, mas sim no conteúdo textual exibido aos usuários.
Quais Campos Contam para o Limite
Todo campo baseado em texto dentro do objeto embed contribui para o total. Os campos exatos e seus máximos individuais são:
- title – até 256 caracteres
- description – até 4096 caracteres
- fields – cada campo tem um nome (máx. 256 caracteres) e um valor (máx. 1024 caracteres); a soma de todos os nomes e valores de campos conta para o total de 6000
- footer.text – até 2048 caracteres
- author.name – até 256 caracteres
- timestamp – string ISO 8601 (por exemplo, 24 caracteres para um timestamp típico) também conta
A contagem de caracteres é a soma do comprimento de cada um desses campos. Espaços em branco, pontuação e emojis contam como um caractere cada. URLs são contadas pelo comprimento total da string, não pela versão encurtada exibida.
Por que o Limite Existe
O Discord limita o tamanho do embed por três razões. Primeiro, payloads grandes aumentam o tempo de processamento do servidor e o uso de largura de banda. Segundo, embeds enormes degradam a experiência do usuário inundando os canais de chat com conteúdo excessivo. Terceiro, o limite de 6000 caracteres está alinhado com o limite geral de comprimento de mensagem do Discord de 2000 caracteres, mas permite formatação mais rica através de embeds.
O que Acontece Quando Você Excede 6000 Caracteres
Se o embed do seu webhook exceder 6000 caracteres no total, o Discord rejeita toda a requisição com um erro 400 Bad Request. A resposta da API inclui uma mensagem de erro indicando que o embed é grande demais. Nenhum embed parcial é enviado. A chamada do webhook falha e a mensagem não aparece no canal.
Cenário de Erro Exemplo
Suponha que você envie um webhook com um embed contendo uma descrição de 4000 caracteres e 10 campos, cada um com um nome de 200 caracteres e um valor de 500 caracteres. O total é 4000 + (10 × 200) + (10 × 500) = 4000 + 2000 + 5000 = 11000 caracteres. O Discord rejeita porque excede 6000. A API retorna um erro como “Embed size exceeded maximum limit of 6000 characters.”
Passos para Ficar Dentro do Limite de 6000 Caracteres
Para evitar erros, você deve calcular o total de caracteres antes de enviar o webhook. Use o seguinte método para verificar o tamanho do seu embed.
- Conte o comprimento do título
Meça o número de caracteres no título do embed. Mantenha abaixo de 256 caracteres. - Conte o comprimento da descrição
Meça os caracteres da descrição. O máximo é 4096, mas o total com outros campos deve ficar abaixo de 6000. - Some todos os nomes e valores de campos
Para cada campo, adicione o comprimento do nome e do valor. Se você tiver vários campos, some todos. - Adicione o comprimento do texto do rodapé
Inclua a contagem de caracteres do texto do rodapé. - Adicione o comprimento do nome do autor
Inclua a contagem de caracteres do nome do autor. - Adicione o comprimento da string do timestamp
Um timestamp ISO 8601 típico como “2025-03-15T14:30:00.000Z” tem 24 caracteres. - Compare o total com 6000
Se a soma exceder 6000, reduza o conteúdo dos campos ou divida os dados em várias mensagens de webhook.
Erros Comuns que Fazem o Limite de 6000 Caracteres ser Excedido
Desenvolvedores Esquecem de Somar Todos os Campos
Muitos desenvolvedores verificam apenas os limites individuais dos campos e assumem que o embed é válido. Por exemplo, uma descrição de 4000 caracteres mais 10 campos com 200 caracteres cada excede 6000. Sempre calcule o total em todos os campos.
Uso de URLs Muito Longas nos Campos
Uma única URL pode ter 2000 caracteres ou mais. Se você incluir várias URLs longas nos valores dos campos, o total rapidamente excede 6000. Encurte URLs usando um encurtador de URL ou use a incorporação automática de links do Discord.
Inclusão de JSON Completo na Descrição
Alguns desenvolvedores colam JSON bruto ou saída de log na descrição do embed. Isso frequentemente excede 4096 caracteres apenas para a descrição, e adicionar campos empurra o embed além do limite. Extraia apenas os dados essenciais.
Não Considerar Espaços em Branco e Novas Linhas
Caracteres de espaço em branco, incluindo espaços, tabulações e novas linhas, contam para o limite. Uma descrição formatada com muitas quebras de linha pode consumir centenas de caracteres sem texto visível. Minimize a formatação desnecessária.
| Campo do Embed | Máximo Individual | Contribui para o Total de 6000 |
|---|---|---|
| title | 256 | Sim |
| description | 4096 | Sim |
| nomes de campos (cada) | 256 | Sim |
| valores de campos (cada) | 1024 | Sim |
| footer.text | 2048 | Sim |
| author.name | 256 | Sim |
| timestamp | string ISO 8601 | Sim |
Agora você entende por que o Discord impõe um total de 6000 caracteres para embeds de webhook e quais campos contam para esse limite. Sempre some as contagens de caracteres do título, descrição, todos os nomes e valores de campos, rodapé, autor e timestamp antes de enviar sua requisição de webhook. Se seus dados excederem 6000 caracteres, divida o conteúdo em vários embeds ou várias mensagens. Para uso avançado, considere usar os componentes de mensagem ou threads do Discord para apresentar grandes conjuntos de dados sem atingir os limites de embed.