Проверка Snowflake для Discord
Расшифруй любой ID Discord и узнай, когда он создан и сколько времени прошло с тех пор: возраст аккаунта, сервера, канала или сообщения. Бесплатно, без входа, а ID не покидает твой браузер.
Что такое Snowflake ID в Discord?
Пользователи, серверы, каналы, сообщения и роли в Discord имеют ID в одном формате, который называется Snowflake: это 64-битное число, старшие 42 бита которого - момент создания ID, посчитанный в миллисекундах. Расшифровав эту часть, можно узнать, когда создан аккаунт Discord, сколько лет серверу или каналу или когда отправлено сообщение.
Как работает проверка Snowflake
- Вставь один или несколько ID Discord в поле. Несколько ID разделяй пробелами, запятыми или переносами строк.
- Нажми Расшифровать или клавишу Enter (Shift+Enter - новая строка).
- Для каждого ID показывается отдельный результат: дата и время создания на языке страницы и в часовом поясе твоего устройства, а также сколько времени прошло с тех пор.
- Рядом с полями Время Unix (секунды) и Метка времени Discord есть кнопка копирования. Если вставить метку времени Discord в сообщение, она покажет дату в часовом поясе каждого читателя.
- ID воркера, ID процесса и Инкремент - три поля в младших 22 битах, а Первые 42 бита (двоичный код) показывает часть с меткой времени бит за битом.
- ID, который не удалось расшифровать, указывается под полем, а остальные ID всё равно расшифровываются. Инструмент принимает от 17 до 20 цифр и время создания не более чем на один день в будущем.
Как найти ID в Discord
- В Discord на компьютере открой настройки и включи Режим разработчика: он находится в разделе Разработчик в текущем приложении для компьютера и в веб-версии, а в старых версиях и на мобильных устройствах - в разделе «Расширенные».
- Нажми правой кнопкой мыши на пользователя, сервер, канал или сообщение.
- Выбери пункт меню, который копирует ID.
- Вставь ID в Проверку Snowflake и нажми Расшифровать.
Проверка возраста аккаунта Discord
ID пользователя хранит момент создания аккаунта, поэтому его расшифровка показывает возраст аккаунта. Это не время, когда пользователь зашёл на сервер: это время Discord хранит отдельно. Возраст аккаунта может помочь модераторам, когда рейд или волна спама идёт с аккаунтов, созданных незадолго до этого, но новый аккаунт сам по себе ничего не доказывает: когда-то каждый аккаунт был новым.
Структура битов Snowflake: 64 бита
Discord Snowflake - это 64-битное число, разделённое на четыре поля, от старших битов к младшим:
- Метка времени - биты 22-63 (42 бита): миллисекунды с эпохи Discord. 42 бита вмещают около 139 лет в миллисекундах, поэтому поля хватает до 2154 года.
- ID воркера - биты 17-21 (5 бит): число от 0 до 31, которое Discord использует внутри.
- ID процесса - биты 12-16 (5 бит): ещё одно внутреннее число от 0 до 31.
- Инкремент - биты 0-11 (12 бит): счётчик от 0 до 4095.
Чтобы получить метку времени, сдвинь ID на 22 бита вправо и прибавь эпоху: timestamp_ms = (snowflake >> 22) + 1420070400000. Например, 175928847299117063 расшифровывается как 2016-04-30T11:18:25.796Z, ID воркера 1, ID процесса 0, инкремент 7.
Эпоха Discord
Discord ведёт отсчёт от собственной эпохи, 1 января 2015 года, 00:00 UTC (Unix-время 1420070400000 в миллисекундах), а не от эпохи Unix 1970 года. Благодаря отсчёту с 2015 года 42 бита метки времени хватает до 2154 года, а не до 2109. Ни один Snowflake не может быть старше эпохи Discord: поле метки времени не вмещает время раньше неё.
Один декодер для любых ID
Ничто в Snowflake не говорит о том, чему он принадлежит, поэтому инструмент одинаково расшифровывает ID пользователя, ID сервера, ID канала, ID сообщения и ID роли. Кнопки в разделе Тип ID меняют только подпись над датой, например Пользователь создан или Сообщение отправлено; расшифрованные значения остаются теми же. Для ID сообщения время - это момент отправки сообщения, для сервера, канала или роли - момент создания. Два вида объектов используют ID того, к чему они относятся: ветка, начатая из сообщения, имеет ID этого сообщения, поэтому её время - это момент отправки сообщения, а роль @everyone имеет ID своего сервера.
Частые ошибки при работе со Snowflake
- Потеря точности в JavaScript. Любой ID, который принимает этот инструмент, больше самого большого целого числа, которое JavaScript может хранить точно (2^53 - 1), поэтому
Number(snowflake) может незаметно изменить последние цифры. Храни ID как строки и используй BigInt для вычислений, как это делает этот инструмент.
- Создание аккаунта - это не вход на сервер. ID пользователя показывает, когда создан аккаунт, а не когда пользователь зашёл на сервер.
- Часовые пояса. Время в Snowflake указано по UTC. Инструмент показывает дату в часовом поясе твоего устройства вместе с названием пояса, поэтому один и тот же ID на двух устройствах может выглядеть по-разному; Unix-время везде одинаковое.
- Удалённое сохраняет свои ID. Инструмент читает только число, поэтому ID по-прежнему расшифровывается после удаления сообщения, канала или аккаунта, которому он принадлежал.
Другие бесплатные инструменты для Discord
Работает на Pigona - Бесплатный перевод для Discord