Discord Gateway Intents: बॉट को क्या सुनने की अनुमति है
Gateway intents वे विकल्प हैं जो कोई बॉट जुड़ते समय घोषित करता है, और Discord को बताता है कि वह लाइव इवेंट्स के किन समूहों को पाना चाहता है। जो बॉट कोई intent नहीं माँगता, उसे उन इवेंट्स की खबर ही नहीं मिलती, जिससे डेटा निजी रहता है और ट्रैफ़िक कम रहता है।
Gateway क्या है
बॉट Discord से एक लगातार कनेक्शन रखता है, जिसे gateway कहते हैं। इसके ज़रिए Discord इवेंट्स उसी समय भेजता है जब वे होते हैं: कोई संदेश भेजा गया, कोई सदस्य जुड़ा, किसी ने टाइप करना शुरू किया, voice चैनल बदला। सीमा के बिना हर बॉट हर सर्वर के हर इवेंट को पाता।
Intents फ़िल्टर हैं। कनेक्ट होने के बाद बॉट जो पहला संदेश भेजता है, उसमें वह एक संख्या के रूप में वे intents बताता है जो चाहिए। फिर Discord केवल मेल खाने वाले इवेंट्स भेजता है।
सामान्य intents
- Guilds: सर्वर, चैनल और भूमिकाएँ जो बनती या बदलती हैं। लगभग हर बॉट इसे इस्तेमाल करता है।
- Guild messages: सर्वर चैनलों के संदेश। उन संदेशों का टेक्स्ट एक privileged intent माँगता है, नीचे देखें।
- Guild voice states: कौन voice चैनल में जुड़ता या छोड़ता है। म्यूज़िक और voice टूल्स को इसकी ज़रूरत है।
- Guild moderation: बैन और audit log की प्रविष्टियाँ।
- Guild message reactions: जोड़ी या हटाई गई रिएक्शन।
तीन intents विशेष हैं: presence, server members और message content। ये privileged intents हैं, क्योंकि ये ज़्यादा निजी डेटा खोलते हैं और बड़े बॉट्स के लिए अतिरिक्त मंज़ूरी चाहिए।
सर्वर मालिकों के लिए यह क्यों मायने रखता है
जब बॉट online हो, पर संदेशों, जुड़ने या voice बदलने को अनदेखा करे, तो एक गायब intent आम कारण होता है। यह त्रुटि कोड 4014 के साथ होने वाले disconnect को भी समझा सकता है, जब बॉट कोई privileged intent माँगता है जो उसकी सेटिंग्स में चालू नहीं है। बॉट offline, gateway त्रुटि 4004 और 4014 लेख इसे कवर करता है।
Intents निजता का संकेत भी हैं। जो बॉट केवल वही माँगता है जो उसके फ़ीचर्स को चाहिए, उस पर भरोसा करना आसान है।
Intents और Noxyr
मुख्य Noxyr बॉट आपके लिए प्रबंधित होता है। अगर आप अपने application के साथ एक कस्टम बॉट सेट करते हैं, तो Discord Developer Portal में Server Members Intent और Message Content Intent चालू होने चाहिए, जैसा सेटअप गाइड बताता है। ये स्वागत संदेश और prefix कमांड जैसे फ़ीचर्स के लिए ज़रूरी हैं। अगर कस्टम बॉट offline है, तो पहले बॉट offline गाइड देखें।
विस्तार के लिए privileged gateway intents की व्याख्या देखें।
ऐसे बॉट की जाँच जो आपने नहीं लिखा
अगर आपने जो बॉट इंस्टॉल किया वह अजीब व्यवहार करता है, तो उसके डेवलपर से पूछें कि वह कौन से intents इस्तेमाल करता है और क्यों। अच्छे बॉट अपने दस्तावेज़ में इन्हें सूचीबद्ध करते हैं। अपने बॉट के लिए Developer Portal खोलें, Bot पेज पर जाएँ और टॉगल की तुलना उस चीज़ से करें जो कोड माँगता है। बेमेल होना सबसे पहले ठीक करने वाली चीज़ है।
आम सवाल
अगर बॉट कोई intent नहीं माँगता तो क्या होता है?
Discord उसे मेल खाने वाले इवेंट्स नहीं भेजता। बॉट online रहता है, पर उन चीज़ों पर प्रतिक्रिया नहीं दे सकता।
अपने बॉट के लिए intents कहाँ चालू करूँ?
Discord Developer Portal में अपना application खोलें, Bot पर जाएँ और जिन privileged intents की ज़रूरत है उन्हें चालू करें।
क्या सभी intents privileged हैं?
नहीं। केवल presence, server members और message content privileged हैं। बाकी को स्वतंत्र रूप से इस्तेमाल किया जा सकता है।