Discord 雪花 ID:这个很长的 ID 数字是什么意思
雪花 ID 是 Discord 赋予每个用户、服务器、频道、角色和消息的唯一 64 位数字。 前 42 位保存时间戳,因此任何雪花 ID 都能精确到毫秒告诉你该对象是何时创建的。
什么是雪花 ID
每当你在 Discord 中复制一个 ID,你复制的就是雪花 ID。它看起来像 175928847299117063:一个 17 到 19 位的长整数。Discord 对用户、服务器(在 API 中称为 guild)、频道、角色、消息、表情等都使用相同的格式。
这种格式源自 Twitter 最早使用的方案。其目的是让许多机器无需彼此请求下一个编号,就能生成唯一的、大致按时间排序的 ID。
位的布局
雪花 ID 从左到右分为四个部分:
- 42 位时间戳:自 2015 年第一秒以来的毫秒数(Discord 纪元,1420070400000)。
- 5 位工作节点 ID和5 位进程 ID:标明是哪台 Discord 机器和哪个进程生成的。
- 12 位递增序号:同一进程在同一毫秒内每生成一个 ID 就递增的计数器。
要读出创建时间,把数字右移 22 位,再加上纪元值。这会得到以毫秒为单位的 Unix 时间戳。这就是为什么你无需询问任何人,就能知道某个服务器或消息是何时创建的。
为什么服务器所有者在意它
你大多会在开启开发者模式(用户设置、高级)并右键点击某物选择"复制 ID"时遇到雪花 ID。人们会在错误报告、机器人设置中,以及在移除一个更改了名字的恶意成员时索要 ID。名字会变,ID 不会变。
两点实用说明:
- ID 是公开的标识符,而不是秘密。知道某个频道的 ID 并不会让任何人获得访问权限。
- 由于它们比许多程序通常存储的普通数字更大,Discord 的 API 会以字符串形式发送它们。会四舍五入长数字的电子表格可能会损坏 ID,因此请将它们保存为文本。
我们免费的雪花解码器可以在你的浏览器中把 ID 转换为它的创建日期。
Noxyr 如何使用 ID
在某项功能需要时,Noxyr 会存储 Discord 用户 ID:工单发起人、发票客户、抽奖参与、投票、评价作者和黑名单。控制面板还会保存你的 ID、用户名和头像用于登录。数据与隐私文档列出了确切保存的内容。
有些功能需要 ID 作为输入。例如,自定义机器人的所有者可以通过用户 ID 将剩余时间转移给另一个人,而机器人无论你重命名多少次,都会保持自己的用户 ID 不变。这就是为什么与之绑定的角色和覆盖设置在重新品牌化之后仍然有效的原因。
相关术语
应用 ID也是雪花 ID,每个 guild ID 同样如此。分片甚至使用 guild ID 来决定哪个分片接收某个服务器,参见分片。
常见问题
如何找到 Discord ID?
在用户设置的"高级"中开启开发者模式。然后右键点击用户、频道、角色或服务器,选择"复制 ID"。
我能从 ID 找到创建日期吗?
可以。把数字右移 22 位,再加上 1420070400000,即可得到以毫秒为单位的 Unix 时间。雪花解码器工具会替你完成这一计算。
Discord ID 是私密的吗?
不是。ID 是公开的标识符,本身不提供任何访问权限。应把令牌视为秘密,而不是 ID。