Discord-Snowflake: Was die lange ID-Nummer bedeutet
Ein Snowflake ist die eindeutige 64-Bit-Nummer, die Discord jedem Nutzer, Server, Kanal, jeder Rolle und Nachricht gibt. Die ersten 42 Bits enthalten einen Zeitstempel. Ein Snowflake verrät also, wann etwas erstellt wurde, bis auf die Millisekunde genau.
Was ein Snowflake ist
Wenn du in Discord eine ID kopierst, kopierst du einen Snowflake. Er sieht etwa so aus: 175928847299117063, eine lange ganze Zahl mit 17 bis 19 Ziffern. Discord nutzt dasselbe Format für Nutzer, Server (in der API Guilds genannt), Kanäle, Rollen, Nachrichten, Emojis und mehr.
Das Format stammt von einem Schema, das zuerst bei Twitter genutzt wurde. Ziel ist es, auf vielen Maschinen eindeutige, grob zeitlich sortierte IDs zu erzeugen, ohne dass sie sich bei anderen Maschinen nach der nächsten Nummer erkundigen müssen.
Wie die Bits aufgebaut sind
Ein Snowflake besteht von links aus vier Teilen:
- 42 Bits Zeitstempel: Millisekunden seit der ersten Sekunde des Jahres 2015 (die Discord-Epoche, 1420070400000).
- 5 Bits Worker-ID und 5 Bits Prozess-ID: welche Maschine und welcher Prozess bei Discord ihn erzeugt haben.
- 12 Bits Zähler: ein Zähler, der für jede ID steigt, die derselbe Prozess in derselben Millisekunde erzeugt.
Um den Erstellungszeitpunkt auszulesen, verschiebe die Zahl um 22 Bits nach rechts und addiere die Epoche. So erhältst du einen Unix-Zeitstempel in Millisekunden. Deshalb lässt sich erkennen, wann ein Server oder eine Nachricht erstellt wurde, ohne jemanden zu fragen.
Warum Serverbesitzer darauf achten
Snowflakes begegnen dir vor allem, wenn du den Entwicklermodus einschaltest (Benutzereinstellungen, Erweitert) und mit der rechten Maustaste auf etwas klickst und ID kopieren wählst. Leute fragen nach IDs in Fehlerberichten, bei der Bot-Einrichtung und beim Entfernen eines bösen Akteurs, der seinen Namen geändert hat. Namen ändern sich, eine ID nicht.
Zwei praktische Hinweise:
- IDs sind öffentliche Kennungen, keine Geheimnisse. Wer eine Kanal-ID kennt, hat dadurch keinen Zugriff auf den Kanal.
- Weil sie größer sind als das, was viele Programme als normale Zahl speichern, sendet die Discord-API sie als Strings. Tabellenkalkulationen, die lange Zahlen runden, können eine ID beschädigen. Behalte sie deshalb als Text.
Unser kostenloser Snowflake-Decoder wandelt eine ID direkt in deinem Browser in ihr Erstellungsdatum um.
Wie Noxyr IDs nutzt
Noxyr speichert Discord-Nutzer-IDs, wo eine Funktion sie braucht: Ticket-Ersteller, Rechnungskunden, Giveaway-Teilnehmer, Umfrage-Stimmen, Bewertungsautoren und Sperrlisten. Das Dashboard speichert außerdem deine ID, deinen Benutzernamen und dein Avatar für die Anmeldung. Die Docs zu Daten und Datenschutz listen genau auf, was gespeichert wird.
Manche Funktionen nehmen eine ID als Eingabe. Zum Beispiel kann der Besitzer eines Custom Bots die verbleibende Zeit über die Nutzer-ID an eine andere Person übertragen, und der Bot behält seine eigene Nutzer-ID, egal wie oft du ihn umbenennst. Deshalb funktionieren Rollen und Überschreibungen, die daran hängen, auch nach einem Rebranding weiter.
Verwandte Begriffe
Eine Anwendungs-ID ist ebenfalls ein Snowflake, genauso wie jede Guild-ID. Sharding nutzt sogar die Guild-ID, um zu entscheiden, welcher Shard einen Server bekommt, siehe Sharding.
Häufige Fragen
Wie finde ich eine Discord-ID?
Schalte den Entwicklermodus in den Benutzereinstellungen unter Erweitert ein. Klicke dann mit der rechten Maustaste auf einen Nutzer, Kanal, eine Rolle oder einen Server und wähle ID kopieren.
Kann ich das Erstellungsdatum aus einer ID ablesen?
Ja. Verschiebe die Zahl um 22 Bits nach rechts und addiere 1420070400000, um eine Unix-Zeit in Millisekunden zu erhalten. Der Snowflake-Decoder erledigt das für dich.
Ist eine Discord-ID privat?
Nein. IDs sind öffentliche Kennungen und gewähren allein keinen Zugriff. Behandle Tokens als Geheimnisse, nicht IDs.