Discordのsnowflakeに埋まったタイムスタンプを読む
DiscordのIDは全てタイムスタンプ+簿記情報です。19桁の数字をデコードして、メッセージ・ユーザー・サーバーの作成時刻を調べます。
このガイドで使う道具
やりたいこと
「このDiscordアカウントはいつ作られた?」「どっちのメッセージが先?」はIDだけで答えられます — snowflakeにはDiscordエポック(2015-01-01)からのミリ秒が埋まっています。IDを貼ると、作成時刻とworker/process/incrementの内訳が出ます。
IDを貼る
snowflakeサイズの整数なら何でも動きます — メッセージID・ユーザーID・ギルドID・Webhook ID。64ビット値がタイムスタンプ・worker・process・incrementに分解され、ローカルタイムゾーンの日時が表示されます。
- 表示されるエポックはDiscordのものです。他のsnowflake系(Twitter/X、Mastodon)は別エポックを使うため、それらのIDでは日時が誤ります。
- IDは64ビットに収まる必要があり、収まらないものはフラグされます。
答えの使い方
作成日時は怪しいアカウントの標準的な一次チェック(数日しか経っていない=捨て垢)であり、紛争ログのイベント順序付けにも使えます。これはIDの内容の解読であって検索ではありません — 何も照会・送信されません。