Gerador de Discord Snowflake ID
Gera IDs Snowflake do Discord (Twitter-like) — 64 bits com timestamp embutido. Para mockups de bot e testes de bibliotecas.
IDs do Discord: Snowflakes com epoch de 2015
O Discord é a plataforma de chat e voz lançada em maio de 2015 pela Hammer & Chisel (hoje Discord Inc.). Toda entidade dentro do Discord — usuários, servidores (guilds), canais, mensagens, cargos, emojis, threads — recebe um Snowflake ID de 64 bits, mesmo formato introduzido pelo Twitter em 2010, mas com epoch e divisão de campos próprios. Em string, um Snowflake do Discord costuma ter 17 a 19 dígitos, o que já não cabe em inteiro de 32 bits e precisa trafegar como string em JavaScript para evitar perda silenciosa de precisão.
Layout de bits do Snowflake do Discord
42 bits | 5 bits | 5 bits | 12 bits
timestamp ms | worker id | process id | incremento
desde epoch | (0-31) | (0-31) | (0-4095)
(1º jan 2015)
O epoch do Discord é 1420070400000 (1º de janeiro de 2015, 00:00 UTC). Para recuperar o instante de criação de qualquer objeto, faça shift à direita de 22 bits e some o epoch:
const id = 175928847299117063n;
const ts = Number((id >> 22n)) + 1420070400000;
new Date(ts).toISOString();
// → 2016-04-30T11:18:25.796Z
Usernames, discriminadores e a migração de 2023
De 2015 a 2023, o Discord usou o esquema Username#1234: um nome escolhido mais um discriminador de quatro dígitos que desambiguava duplicatas. Em 2023, a plataforma migrou para @handles globalmente únicos, deixando toda conta legada com o discriminador-placeholder #0. O Snowflake nunca se mexeu nessa migração — ele continua sendo a única fonte da verdade e por isso é a chave primária correta para qualquer integração.
API, gateway e bots
- REST —
https://discord.com/api/v10/para criar/ler/atualizar guilds, canais e mensagens. - Gateway — conexão WebSocket que entrega eventos em tempo real (typing, presence, message create). Bots precisam declarar intents;
GUILD_MEMBERSeMESSAGE_CONTENTsão privilegiadas e exigem aprovação. - Tokens — tokens de bot são enviados como
Authorization: Bot <token>; tokens de usuário (selfbots) são proibidos pelos termos de uso. - Bibliotecas —
discord.js(Node),discord.py(retomada após o hiato de 2021),serenity-rs(Rust),JDA(Java). - Bots famosos — MEE6, Dyno e Carl-bot indexam seus dados internos pelo Snowflake.
Perguntas frequentes
Consigo decodificar um ID do Discord? Sim — os 42 bits superiores são um timestamp em milissegundos a partir do epoch do Discord, então qualquer ferramenta consegue recuperar o instante exato de criação de um usuário, servidor ou mensagem.
O ID muda se eu renomear ou migrar para handle global? Não. O Snowflake é atribuído na criação e é imutável, inclusive durante a migração de usernames de 2023.
IDs do Discord são únicos globalmente? Sim, em toda a plataforma — usuários, guilds, canais e mensagens compartilham o mesmo namespace Snowflake e nunca colidem.
Por que meus IDs perdem dígitos em JSON? Porque números JavaScript são doubles IEEE-754 com apenas 53 bits de precisão inteira. Sempre trate Snowflakes como string no transporte, ou faça parse com BigInt.
Ferramentas Relacionadas
Gerador de Manuscrito
Converte texto digitado em uma imagem com aparência de letra manuscrita. Útil para tornar trabalhos digitais mais pessoais.
Gerador de Currículo
Preenche um currículo simples (CV) imprimível em A4 a partir de formulário com dados pessoais, formação e experiência.
Gerador de Favicon
Gera favicon a partir de texto/emoji em todos os tamanhos comuns (16, 32, 48, 64, 192, 512). Download como PNG.