حد المعدل في Discord: لماذا يتباطأ البوت
حد المعدل هو السقف الذي يضعه Discord على عدد الطلبات التي يستطيع بوت أو مستخدم إرسالها في وقت قصير. عندما يتجاوزه البوت يرد Discord بخطأ HTTP 429 ومدة انتظار، ويجب على البوت أن يتوقف قبل المحاولة مرة أخرى.
كيف تُطبق الحدود
كل إجراء يقوم به البوت هو طلب إلى واجهة Discord البرمجية: إرسال رسالة، أو إضافة رتبة، أو تعديل قناة. يحسب Discord الطلبات في دلاء، عادة لكل مسار وأحيانا لكل خادم أو قناة. وهناك أيضا سقف عام لنحو 50 طلبا في الثانية للبوت.
الردود تتضمن ترويسات تخبر بعدد الطلبات المتبقية ومتى يُعاد ضبط الدلو. البوت الجيد يقرأ هذه القيم ويبطئ قبل أن يُحظر. وإذا تجاوز رغم ذلك، فإن استجابة 429 تحمل قيمة Retry-After تحدد عدد الثواني للانتظار.
لماذا تلاحظها
- الإجراءات الجماعية، مثل حذف رسائل كثيرة أو تغيير رتب كثيرة، تُبطأ عمدا.
- تغيير اسم قناة أو موضوعها مرارا في وقت قصير محدود لكل قناة.
- إضافة تفاعلات كثيرة أو إرسال دفعات من الرسائل يسبب توقفات قصيرة.
بالنسبة إلى العضو يبدو هذا كبوت يرد متأخرا، لا كخطأ. هذا هو النظام يؤدي عمله.
النسخة الخطيرة: الحظر المؤقت
إذا أرسل تطبيق طلبات سيئة كثيرة، مثلا آلاف الاستجابات 401 أو 403 أو 429 خلال عشر دقائق، فقد يحظر Discord عنوان IP الخاص به لفترة في طبقة Cloudflare. عندها قد يتعطل بوت مستضاف على جهاز مشترك رغم أن خادمك سليم. الانتظار هو الحل الوحيد.
لا تحاول أبدا تجاوز حدود المعدل بحسابات إضافية أو سكربتات. هذه الحدود موجودة لحماية المنصة، والالتفاف عليها يعرضك للحظر.
ما يمكنك فعله كصاحب خادم
- وزّع المهام الكبيرة بدلا من تشغيلها دفعة واحدة.
- تجنب تغيير أسماء القنوات بمؤقت.
- فضّل البوتات التي تضع طلباتها في طابور وتحترم الحدود.
حدود المعدل وNoxyr
سجلات الخادم في Noxyr تُنشر على الأكثر كل بضع ثوان لكل قناة وعشرة في المرة، حتى لا تغرق الغارة أو التنظيف الكبير قناة السجلات، كما تصف وثائق سجلات الخادم. وإرسال الدردشة المباشرة الخاص بـ Noxyr محدود أيضا لمنع الإغراق. البوتات المخصصة لها قاعدة مشابهة: كل نقل إلى مضيف جديد هو تسجيل دخول جديد إلى Discord، لذلك هناك انتظار لخمس دقائق بين النقلات، انظر استضافة البوت المخصص.
حدود المعدل تدفع البوتات الكبيرة أيضا إلى التوزع على عدة اتصالات، انظر التجزئة. وإذا بدا بوتك متوقفا، فتحقق أولا من صفحة الحالة والاستجابة.
أسئلة شائعة
ماذا يعني HTTP 429 على Discord؟
طلبات كثيرة جدا. Discord يخبر البوت بالانتظار للمدة الموجودة في Retry-After قبل المحاولة مرة أخرى.
هل حد المعدل حظر؟
لا. هو توقف قصير. فقط الإساءة المتكررة تؤدي إلى حظر مؤقت أطول.
لماذا يرد بوتي ببطء أثناء تنظيف كبير؟
الإجراءات الجماعية محدودة المعدل من Discord، لذلك على البوت أن يوزعها.