Discord Snowflake: लंबी ID संख्या का क्या अर्थ है
Snowflake वह अनोखी 64-बिट संख्या है जो Discord हर उपयोगकर्ता, सर्वर, चैनल, भूमिका और संदेश को देता है। पहले 42 बिट एक timestamp रखते हैं, इसलिए कोई भी snowflake बताता है कि चीज़ कब बनी, मिलीसेकंड तक।
Snowflake क्या है
जब भी आप Discord में ID कॉपी करते हैं, आप एक snowflake कॉपी कर रहे होते हैं। यह 175928847299117063 जैसा दिखता है: 17 से 19 अंकों की एक लंबी पूर्ण संख्या। Discord यही प्रारूप उपयोगकर्ताओं, सर्वरों (API में guilds कहलाते हैं), चैनलों, भूमिकाओं, संदेशों, इमोजी और बहुत कुछ के लिए इस्तेमाल करता है।
यह प्रारूप एक योजना से आता है जो पहले Twitter पर इस्तेमाल हुई थी। उद्देश्य यह है कि कई मशीनों पर अनोखी, लगभग समय-क्रमित ID बनें, बिना एक-दूसरे से अगली संख्या पूछे।
बिट कैसे व्यवस्थित हैं
एक snowflake को बाईं ओर से चार हिस्सों में बाँटा जाता है:
- 42 बिट timestamp: 2015 के पहले सेकंड से मिलीसेकंड (Discord epoch, 1420070400000)।
- 5 बिट worker ID और 5 बिट process ID: किस Discord मशीन और प्रक्रिया ने इसे बनाया।
- 12 बिट increment: एक काउंटर जो उस प्रक्रिया के हर ID के साथ उसी मिलीसेकंड में बढ़ता है।
बनने का समय पढ़ने के लिए, संख्या को 22 बिट दाईं ओर शिफ़्ट करें और epoch जोड़ें। इससे मिलीसेकंड में Unix timestamp मिलता है। इसीलिए आप बिना किसी से पूछे बता सकते हैं कि कोई सर्वर या संदेश कब बना था।
सर्वर मालिकों को इसकी परवाह क्यों है
आप snowflake से ज़्यादातर तब मिलेंगे जब आप Developer Mode (User Settings, Advanced) चालू करते हैं और किसी चीज़ पर राइट-क्लिक करके Copy ID चुनते हैं। लोग बग रिपोर्ट में, बॉट सेटअप में, और ऐसे बुरे व्यक्ति को हटाते समय ID माँगते हैं जिसने अपना नाम बदल लिया हो। नाम बदलते हैं, ID नहीं।
दो व्यावहारिक बातें:
- ID सार्वजनिक पहचानकर्ता हैं, गुप्त नहीं। चैनल ID जानने से किसी को उस तक पहुँच नहीं मिलती।
- चूँकि ये उससे बड़ी हैं जो कई प्रोग्राम सामान्य संख्या के रूप में सहेजते हैं, Discord API इन्हें स्ट्रिंग के रूप में भेजता है। लंबी संख्याओं को गोल करने वाली स्प्रेडशीट ID खराब कर सकती है, इसलिए इन्हें टेक्स्ट के रूप में रखें।
हमारा मुफ़्त snowflake डिकोडर आपके ब्राउज़र में ID को उसकी बनने की तारीख में बदलता है।
Noxyr ID कैसे इस्तेमाल करता है
Noxyr Discord उपयोगकर्ता ID वहाँ सहेजता है जहाँ कोई फ़ीचर उन्हें चाहता है: टिकट खोलने वाले, इनवॉइस के ग्राहक, गिवअवे प्रविष्टियाँ, पोल वोट, रिव्यू के लेखक और ब्लैकलिस्ट। साइन इन के लिए डैशबोर्ड आपकी ID, उपयोगकर्ता नाम और अवतार भी रखता है। डेटा और गोपनीयता दस्तावेज़ बिल्कुल बताते हैं कि क्या रखा जाता है।
कुछ फ़ीचर इनपुट के रूप में ID लेते हैं। उदाहरण के लिए, कस्टम बॉट का मालिक बचा हुआ समय किसी दूसरे व्यक्ति को उसकी उपयोगकर्ता ID से स्थानांतरित कर सकता है, और बॉट अपनी उपयोगकर्ता ID कितनी भी बार नाम बदलने पर वही रखता है। इसीलिए उससे जुड़ी भूमिकाएँ और ओवरराइड रीब्रांड के बाद भी काम करते रहते हैं।
संबंधित शब्द
application ID भी एक snowflake है, और हर guild ID भी। Sharding तो यह तय करने के लिए guild ID का इस्तेमाल करता है कि कौन सा shard सर्वर पाएगा, देखें sharding।
आम सवाल
Discord ID कैसे खोजूँ?
User Settings, Advanced में Developer Mode चालू करें। फिर किसी उपयोगकर्ता, चैनल, भूमिका या सर्वर पर राइट-क्लिक करें और Copy ID चुनें।
क्या ID से बनने की तारीख निकल सकती है?
हाँ। संख्या को 22 बिट दाईं ओर शिफ़्ट करें और 1420070400000 जोड़ें, तो मिलीसेकंड में Unix समय मिलता है। snowflake डिकोडर टूल यह आपके लिए करता है।
क्या Discord ID निजी है?
नहीं। ID सार्वजनिक पहचानकर्ता हैं और अपने आप कोई पहुँच नहीं देते। टोकन को गुप्त मानें, ID को नहीं।