Discord Rate Limit: बॉट्स धीमे क्यों होते हैं
Rate limit वह सीमा है जो Discord लगाता है कि कोई बॉट या उपयोगकर्ता कम समय में कितने अनुरोध भेज सकता है। जब बॉट इसे पार करता है, तो Discord HTTP 429 त्रुटि और प्रतीक्षा समय के साथ जवाब देता है, और बॉट को फिर कोशिश करने से पहले रुकना पड़ता है।
सीमाएँ कैसे लागू होती हैं
बॉट का हर काम Discord API को एक अनुरोध है: संदेश भेजना, भूमिका जोड़ना, चैनल बदलना। Discord अनुरोधों को buckets में गिनता है, आम तौर पर हर route के हिसाब से और कभी-कभी सर्वर या चैनल के हिसाब से। बॉट के लिए लगभग 50 अनुरोध प्रति सेकंड की एक वैश्विक सीमा भी है।
जवाबों में headers होते हैं जो बताते हैं कि कितने अनुरोध बचे हैं और bucket कब रीसेट होगा। अच्छी तरह लिखा बॉट इन्हें पढ़ता है और रोके जाने से पहले धीमा हो जाता है। अगर फिर भी सीमा पार हो, तो 429 जवाब में Retry-After मान होता है, जो बताता है कि कितने सेकंड रुकना है।
आप इसे क्यों देखते हैं
- बड़े पैमाने के काम, जैसे बहुत सारे संदेश हटाना या बहुत सारी भूमिकाएँ बदलना, जानबूझकर धीमे किए जाते हैं।
- थोड़े समय में बार-बार चैनल का नाम या topic बदलना हर चैनल के लिए सीमित है।
- बहुत सारी रिएक्शन जोड़ना या संदेशों की बाढ़ छोटे विराम लाती है।
सदस्य को यह ऐसा लगता है जैसे बॉट देर से जवाब देता है, कोई त्रुटि नहीं। यह सिस्टम अपना काम कर रहा है।
गंभीर रूप: अस्थायी बैन
अगर कोई ऐप बहुत सारे गलत अनुरोध करता है, जैसे दस मिनट में हज़ारों 401, 403 या 429 जवाब, तो Discord Cloudflare स्तर पर उसके IP पते को कुछ समय के लिए ब्लॉक कर सकता है। साझा मशीन पर होस्ट किया गया बॉट तब विफल हो सकता है, भले ही आपके सर्वर में कुछ गलत न हो। केवल प्रतीक्षा ही समाधान है।
अतिरिक्त खातों या स्क्रिप्ट से rate limits को कभी न पार करें। ये प्लेटफ़ॉर्म की रक्षा के लिए हैं, और उनके आसपास से निकलने पर बैन का जोखिम है।
मालिक के रूप में आप क्या कर सकते हैं
- बड़े काम एक साथ चलाने के बजाय फैलाकर चलाएँ।
- टाइमर पर चैनलों के नाम बदलने से बचें।
- ऐसे बॉट पसंद करें जो अपने अनुरोध कतार में रखते हैं और सीमाओं का सम्मान करते हैं।
Rate limits और Noxyr
Noxyr के सर्वर लॉग प्रति चैनल हर कुछ सेकंड में अधिकतम एक बार, और एक बार में दस तक पोस्ट होते हैं, ताकि रेड या बड़ी सफ़ाई कभी लॉग चैनल को न भरे, जैसा सर्वर लॉग दस्तावेज़ में है। Noxyr का अपना लाइव चैट भेजना भी बाढ़ रोकने के लिए सीमित है। कस्टम बॉट्स का एक संबंधित नियम है: हर नए होस्ट पर जाना Discord में एक नया लॉगिन है, इसलिए हर स्थानांतरण के बीच पाँच मिनट की प्रतीक्षा होती है, देखें कस्टम बॉट होस्टिंग।
Rate limits बड़े बॉट्स को कई कनेक्शनों में बाँटने की ओर भी धकेलते हैं, देखें sharding। अगर आपका बॉट अटका हुआ लगे, तो पहले स्थिति और ping पेज देखें।
आम सवाल
Discord पर HTTP 429 का क्या अर्थ है?
बहुत सारे अनुरोध। Discord बॉट को Retry-After मान में दिए समय तक रुकने को कह रहा है, फिर कोशिश करने के लिए।
क्या rate limit एक बैन है?
नहीं। यह एक छोटा विराम है। केवल बार-बार दुरुपयोग से लंबा अस्थायी ब्लॉक हो सकता है।
बड़ी सफ़ाई के दौरान मेरा बॉट धीमे जवाब क्यों देता है?
Discord बल्क कार्रवाइयों को rate limit करता है, इसलिए बॉट को उन्हें फैलाना पड़ता है।