Snowflake de Discord: qué significa el número largo del ID
Un snowflake es el número único de 64 bits que Discord asigna a cada usuario, servidor, canal, rol y mensaje. Los primeros 42 bits guardan una marca de tiempo, así que cualquier snowflake indica cuándo se creó lo que identifica, hasta el milisegundo.
Qué es un snowflake
Cada vez que copias un ID en Discord, estás copiando un snowflake. Tiene este aspecto: 175928847299117063, un número entero largo de 17 a 19 cifras. Discord usa el mismo formato para usuarios, servidores (llamados guilds en la API), canales, roles, mensajes, emojis y más.
El formato viene de un esquema usado por primera vez en Twitter. La idea es crear IDs únicos y ordenados aproximadamente por tiempo en muchas máquinas, sin que se pidan entre ellas el siguiente número.
Cómo se distribuyen los bits
Un snowflake se divide en cuatro partes, de izquierda a derecha:
- 42 bits de marca de tiempo: milisegundos desde el primer segundo de 2015 (la época de Discord, 1420070400000).
- 5 bits de ID de worker y 5 bits de ID de proceso: qué máquina y proceso de Discord lo generó.
- 12 bits de incremento: un contador que sube por cada ID que ese proceso genera dentro del mismo milisegundo.
Para leer la hora de creación, desplaza el número 22 bits a la derecha y suma la época. Así obtienes una marca de tiempo Unix en milisegundos. Por eso puedes saber cuándo se creó un servidor o un mensaje sin preguntar a nadie.
Por qué les importa a los propietarios
Te encontrarás con snowflakes sobre todo al activar el Modo de desarrollador (Ajustes de usuario, Avanzado) y hacer clic derecho en algo para Copiar ID. La gente pide IDs en los informes de errores, en la configuración de bots y para eliminar a una persona problemática que ha cambiado su nombre. Los nombres cambian, un ID no.
Dos notas prácticas:
- Los IDs son identificadores públicos, no secretos. Conocer el ID de un canal no da acceso a él.
- Como son más grandes de lo que muchos programas guardan como número normal, la API de Discord los envía como cadenas. Las hojas de cálculo que redondean números largos pueden corromper un ID, así que guárdalos como texto.
Nuestro decodificador de snowflakes gratuito convierte un ID en su fecha de creación en tu navegador.
Cómo usa Noxyr los IDs
Noxyr guarda los IDs de usuario de Discord donde una función los necesita: quien abre un ticket, clientes de facturas, participaciones en sorteos, votos de encuestas, autores de reseñas y listas negras. El panel también guarda tu ID, nombre de usuario y avatar para iniciar sesión. Las documentación de datos y privacidad enumeran exactamente lo que se guarda.
Algunas funciones aceptan un ID como entrada. Por ejemplo, el propietario de un bot personalizado puede transferir el tiempo restante a otra persona por su ID de usuario, y el bot conserva su propio ID de usuario sin importar cuántas veces lo renombres. Por eso los roles y excepciones ligados a él siguen funcionando tras un cambio de marca.
Términos relacionados
Un ID de aplicación también es un snowflake, y lo es cada ID de guild. El sharding incluso usa el ID del guild para decidir qué shard recibe un servidor; consulta sharding.
Preguntas frecuentes
¿Cómo encuentro un ID de Discord?
Activa el Modo de desarrollador en Ajustes de usuario, Avanzado. Luego haz clic derecho en un usuario, canal, rol o servidor y elige Copiar ID.
¿Puedo saber la fecha de creación a partir de un ID?
Sí. Desplaza el número 22 bits a la derecha y suma 1420070400000 para obtener una hora Unix en milisegundos. El decodificador de snowflakes lo hace por ti.
¿Un ID de Discord es privado?
No. Los IDs son identificadores públicos y no dan acceso por sí solos. Trata los tokens como secretos, no los IDs.