Discord बॉट token उस बॉट के अकाउंट का पासवर्ड है: जिसके पास यह है, वह उस बॉट को Discord में लॉग इन करा सकता है और वह सब करा सकता है जो उसकी अनुमतियां देती हैं, उन सभी सर्वरों में जहां वह पहले से जुड़ा है। बॉट application बनाते समय यह Discord Developer Portal से मुफ़्त मिलता है। इसे पासवर्ड की तरह संभालें, क्योंकि यह वास्तव में वही है, बॉट के user ID या invite लिंक जैसा कोई सार्वजनिक पहचानकर्ता नहीं।

Discord बॉट token कैसे प्राप्त करें

  1. Developer Portal खोलें। discord.com/developers/applications पर जाएं और उस Discord खाते से साइन इन करें जिसे बॉट का मालिक होना चाहिए।
  2. एक application बनाएं। New Application दबाएं, उसका नाम दें। यह नाम अभी बॉट का display name नहीं है, केवल application का है।
  3. Bot टैब खोलें। Discord application में अपने आप एक bot user जोड़ता है। उसका username और अवतार यहां सेट करें; सदस्य सर्वर में यही देखेंगे।
  4. ज़रूरी intents चालू करें। Privileged Gateway Intents के नीचे, Server Members Intent और Message Content Intent डिफ़ॉल्ट रूप से बंद होते हैं। नए सदस्यों का स्वागत करने वाले, संदेश का text पढ़ने वाले, या roles ट्रैक करने वाले ज़्यादातर बॉट को दोनों चालू चाहिए।
  5. Reset Token दबाएं। Discord token बनाता है और उसे आपको ठीक एक बार दिखाता है। उसे तुरंत कॉपी करें, बाद में वही token दोबारा देखने का कोई तरीका नहीं है; Reset Token दूसरी बार दबाने से पहला अमान्य हो जाता है और नया जारी होता है।
  6. जहां ज़रूरत हो वहां चिपकाएं। अपने बॉट के कोड में environment variable के रूप में, या hosting provider के dashboard फ़ील्ड में, कभी किसी chat संदेश, सार्वजनिक repository या support टिकट में नहीं।

बॉट token असल में क्या देता है

token वह तरीका है जिससे कोड Discord के gateway और REST API के सामने बॉट user के रूप में अपनी पहचान साबित करता है। एक वैध token के साथ कोड यह कर सकता है:

  • बॉट को लॉग इन करना और ऑनलाइन रखना
  • बॉट को दिखने वाले किसी भी चैनल में संदेश भेजना और पढ़ना
  • हर उस सर्वर में जहां बॉट पहले से है, उसके रोल की अनुमतियां जो भी देती हैं वह कार्रवाई करना: रोल मैनेज करना, किक करना, बैन करना, चैनल डिलीट करना, आदि
  • बॉट के अपने DMs पढ़ना और interactions (slash commands, बटन, modals) का जवाब देना

जो यह नहीं देता: बॉट को नए सर्वरों में जोड़ने की क्षमता। किसी बॉट को इन्वाइट करने के लिए application के client ID और चुनी गई अनुमति सेट से बना एक अलग OAuth2 authorization लिंक चाहिए, जिसे सर्वर एडमिन मंज़ूरी दे। लीक हुआ token बॉट को किसी नए सर्वर में नहीं ला सकता, लेकिन उसका इस्तेमाल हर उस सर्वर में असली नुकसान कर सकता है जहां बॉट पहले से जुड़ा है, उन अनुमतियों की सीमा तक जो वहां उसके पास हैं।

बॉट token कभी chat में क्यों न चिपकाएं

बॉट token एक साधारण text वाला credential है जिसकी कोई अंतर्निहित समाप्ति नहीं होती। जिसके पास यह है, वह token रीसेट होने तक आपके बॉट की पहचान का अपना संस्करण चला सकता है, जिसमें Discord support servers, GitHub issues, या screen share भी शामिल हैं, जहां यह थोड़ी देर के लिए भी दिख जाए। इसे सार्वजनिक रूप से चिपकाना, उदाहरण के लिए GitHub commit में, Discord इसे लीक हुआ credential मानता है, और यही आम तरीका है जिससे बॉट हाइजैक होकर हर उस सर्वर में स्पैम करने लगते हैं जहां वे हैं। बाद में यह पता लगाने का कोई तरीका नहीं कि लीक हुआ token किसने इस्तेमाल किया या क्या किया; एकमात्र समाधान उसे रीसेट करना है।

यही सावधानी hosting provider के साथ token साझा करने पर लागू होती है। इसे केवल provider के अपने dashboard फ़ील्ड में HTTPS पर चिपकाएं, किसी व्यक्ति को भेजे संदेश में कभी नहीं, चाहे वह कितना भी भरोसेमंद हो, और न ही किसी bug report में।

token रीसेट करने से पहुंच तुरंत खत्म होती है

Developer Portal में Reset Token दबाने से पुराना token तुरंत अमान्य हो जाता है। उसे अब भी इस्तेमाल करने वाली हर प्रक्रिया, आपका अपना कोड, कोई hosting provider, या जो कोई इसे बिना अनुमति के पा गया, वह अगले reconnect प्रयास पर डिस्कनेक्ट हो जाती है और पुराने मान से वापस लॉग इन नहीं कर सकती। इसके पीछे की व्यवस्था दो बातें जानने लायक बनाती है:

  • यह आपका kill switch है। अगर कभी शक हो कि token लीक हुआ है, तो कुछ और करने से पहले उसे रीसेट करें। बॉट पुराने token वालों के लिए ऑफ़लाइन हो जाता है, और केवल वहां वापस ऑनलाइन आता है जहां नया token डाला गया हो।
  • यह provider बदलने का तरीका भी है। अगर आपने अपना token किसी hosting सेवा को दिया था और अब छोड़ना चाहते हैं? Developer Portal में token रीसेट करें और उनकी पहुंच तुरंत खत्म हो जाती है, उनसे कुछ डिलीट करने को कहने की ज़रूरत नहीं।

रीसेट token से डिस्कनेक्ट हुआ बॉट आम तौर पर अपने logs में gateway close code 4004 (अमान्य token) दिखाता है, जो Discord का यह कहने का तरीका है कि जिस credential का वह इस्तेमाल करना चाहता था, वह अब मौजूद नहीं।

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Noxyr आपका token कैसे स्टोर करता है

Noxyr बॉट token केवल अपनी Custom Bot सुविधा के लिए मांगता है, जहां आप Noxyr की पूरी फ़ीचर सेट को अपने बॉट के नाम और अवतार के तहत चलाते हैं। token एन्क्रिप्टेड स्टोर होता है, केवल आपके बॉट को Discord gateway में लॉग इन कराने के लिए इस्तेमाल होता है, और आपके चिपकाने के बाद न आपको और न किसी और को वापस दिखाया जाता है। अगर आप कभी पहुंच काटना चाहें, तो Developer Portal में ऊपर बताए तरीके से token रीसेट करें; ऐसा करते ही Noxyr का बॉट डिस्कनेक्ट हो जाता है, ठीक वैसे ही जैसे पुराने token का इस्तेमाल करने वाला कोई भी दूसरा client होता। पूरे सेटअप के चरण, ज़रूरी intents, और मुफ़्त Top.gg-वोट वाला access मॉडल Custom Bot docs और हमारी Custom Bot setup गाइड में हैं।

आम सवाल

मुझे अपना Discord बॉट token कहां मिलेगा? Developer Portal, आपका application, Bot टैब, Reset Token। यह बनाने के समय एक बार दिखता है; कोई ऐसा पेज नहीं जो मौजूदा token दोबारा दिखाए।

क्या बॉट token साझा करना सुरक्षित है? नहीं। इसे साझा करने से, भले निजी तौर पर, उस व्यक्ति को उस बॉट पर हर उस सर्वर में पूरा नियंत्रण मिल जाता है जिसमें वह जुड़ा है। इसे केवल अपने कोड या hosting provider के dashboard फ़ील्ड में डालें।

अगर मैं अपना बॉट token रीसेट करूं तो क्या होगा? पुराना token हर जगह तुरंत काम करना बंद कर देता है जहां वह इस्तेमाल हो रहा था। आपको अपने कोड या provider dashboard में चिपकाने के लिए नया token मिलता है; बॉट की पहचान, सर्वर और मौजूदा डेटा पर कोई असर नहीं होता।

क्या लीक हुए token से मेरे बॉट को दूसरे सर्वरों में जोड़ा जा सकता है? नहीं। इसके लिए अलग OAuth2 invite लिंक और लक्ष्य सर्वर पर एडमिन की मंज़ूरी चाहिए। फिर भी लीक हुआ token हर उस सर्वर में खतरनाक है जहां बॉट पहले से है।

क्या token रीसेट करने से कुछ डिलीट होता है? नहीं। यह केवल पुराने credential को अमान्य करता है। बॉट के application और user ID से जुड़ी सेटिंग्स, रोल और स्टोर किया गया डेटा ठीक वैसे ही रहते हैं।

अपना बॉट सेट करना है? Noxyr मुफ़्त जोड़ें, या अगर आप अपना कोड लिख रहे हैं तो hosting गाइड देखें।