Zrzur المطوّرون

الأخطاء

كل نوع خطأ يمكن أن تعيده الواجهة، مع سببه وحله.

صيغة الخطأ

كل خطأ JSON فيه type، وأحيانًا حقول أخرى:

{ "type": "MissingPermission", "permission": "ManageMessages" }
{ "type": "FailedValidation", "error": "content: length must be between 0 and 2000" }
{ "type": "FileTooLarge", "max": 20000000 }

افحص type ولا تعتمد على النص أبدًا. الأنواع ثابتة: لا يُعاد تسميتها ولا تُحذف. قد تظهر أنواع جديدة في السيرفرات الأحدث، فعامل النوع المجهول كفشل عام.

ماذا تفعل بالخطأ

الحالةالمعنىما تفعله
400, 422الطلب خاطئصحّحه. سيفشل الطلب نفسه مجددًا
401الرمز خاطئأوقف البوت وتحقق من الرمز
403لا يحق للبوت هذاأخبر الشخص. لا تُعد المحاولة
404غير موجودانسه
409تعارضاجلب الحالة الحالية
429طلبات كثيرةانظر حدود المعدل
5xxفشل من جهتناأعد المحاولة بمهلة متزايدة، من ثلاث إلى خمس مرات

الأخطاء الصادرة من سيرفر الويب نفسه (لا رمز، أو مسار مجهول، أو جسم ليس JSON) هي JSON أيضًا. تحقق من الحالة قبل تحليل الجسم، فقد يجيب وسيط بينكما بصفحة HTML.

هل البوت في ذلك السيرفر؟

لا يرى البوت إلا السيرفرات التي ثُبّت فيها. أما السيرفر الذي ليس فيه، فتختلف الإجابات بحسب المسار:

الطلبالجواب
GET /servers/{target}404 NotFound
GET /channels/{target} لإحدى قنواته404 NotFound
POST /channels/{target}/messages لإحدى قنواته403 MissingPermission

لذلك قد يعني 403 MissingPermission حين يكتب بوتك في قناة أعطاه أحدهم معرّفها أن البوت غير مثبّت هناك. اسأل GET /channels/{target}: يعني 404 NotFound أن البوت ليس في ذلك السيرفر (أو أن القناة غير موجودة)، فثبّت البوت أولًا برابط الدعوة من بوابة المطورين. ويعني 403 MissingPermission هناك أن البوت في السيرفر لكنه لا يرى القناة: القناة الخاصة تحتاج إلى رؤية القناة لأحد أدوار البوت.

أخطاء قد تصل البوت

TypeHTTPالسببالحل
UnknownUser404المستخدم غير موجود أو لا يستطيع البوت رؤيته.تحقق من المعرّف. ربما حذف الشخص حسابه.
DirectMessagesRestricted403ترفض إعدادات خصوصية الشخص هذه الرسالة الخاصة.لا تُعد المحاولة. راسله في قناة السيرفر.
DirectMessagesPaused403أوقف السيرفر الرسائل الخاصة بين أعضائه.لا تُعد المحاولة. يرفع المشرف الإيقاف.
BlockedByOther403حظر الشخص البوت.لا تُعد المحاولة.
OfficialAccount403لا يمكن الرد على حساب زرزور الرسمي، ولا التفاعل مع رسائله، ولا تثبيتها، ولا الإبلاغ عنه.لا تُعد المحاولة.
UnknownChannel404القناة غير موجودة أو لا يراها البوت.تحقق من المعرّف ومن أن البوت يملك صلاحية رؤية القناة.
UnknownMessage404الرسالة غير موجودة، أو ليست في هذه القناة.اعتبرها محذوفة.
UnknownAttachment400معرّف ملف في الطلب غير موجود أو استُخدم من قبل.ارفع الملف مجددًا. كل رفع يُستخدم مرة واحدة.
CannotDeleteMessage403لا يمكن حذف الرسالة، مثل رسالة لم ينشئها هذا التفاعل.احذف ما كتبه البوت فقط، أو اطلب صلاحية إدارة الرسائل.
CannotEditMessage403لا يعدّل البوت إلا رسائله.أرسل رسالة جديدة.
CannotJoinCall400القناة لا تقبل المكالمات.استخدم قناة صوتية.
TooManyAttachments400في الرسالة ملفات أكثر من max.أرسل الملفات في عدة رسائل.
TooManyEmbeds400في الرسالة تضمينات أكثر من max.أرسل تضمينات أقل.
TooManyReplies400ترد الرسالة على رسائل أكثر من max.رد على رسائل أقل.
TooManyChannels400بلغ السيرفر حد القنوات max.احذف قناة أولًا.
TooManyChannelWebhooks400بلغت القناة حدها من الويب هوك.احذف ويب هوك في هذه القناة.
TooManyServerWebhooks400بلغ السيرفر حده من الويب هوك.احذف ويب هوك في هذا السيرفر.
RateLimited429أرسل ويب هوك أكثر مما ينبغي. يحمل الجسم retry_after بالميلي ثانية.انتظر هذه المدة ثم أرسل مجددًا.
ForumThreadRequired400نشر ويب هوك في منتدى دون موضوع.أرسل thread_id، أو thread_name لبدء موضوع.
ThreadsDisabled403أوقف السيرفر المواضيع. يبقى الموجود متاحًا للقراءة.لا تُعد المحاولة. السيرفر وحده يمكنه إعادة تشغيلها.
ForumsDisabled403أوقف السيرفر المنتديات. يبقى الموجود متاحًا للقراءة.لا تُعد المحاولة. السيرفر وحده يمكنه إعادة تشغيلها.
PluginsDisabled403الإضافات موقوفة في هذا السيرفر. لا يستجيب أي مسار للإضافات ما دامت موقوفة.لا تُعد المحاولة. لا تعود الإضافات إلا عندما يشغّلها السيرفر.
EmptyMessage422الرسالة بلا محتوى أو تضمينات أو مرفقات أو مكوّنات.أرسل شيئًا.
PayloadTooLarge422تتجاوز الرسالة حدًا للحجم.اختصر النص أو التضمينات.
AlreadyPinned400الرسالة مثبتة من قبل.تجاهل الخطأ.
NotPinned400الرسالة غير مثبتة.تجاهل الخطأ.
InSlowmode429في القناة وضع بطيء وكتب البوت مبكرًا. يحمل الجسم retry_after.انتظر، أو امنح البوت صلاحية تجاوز الوضع البطيء. هذا رفض وليس حد معدل.
UnknownServer404السيرفر غير موجود أو البوت ليس فيه.تحقق من المعرّف. انسَ السيرفر عند وصول ServerDelete.
InvalidRole404الدور غير موجود في هذا السيرفر.اجلب الأدوار مجددًا.
Banned403هذا المستخدم محظور من السيرفر.يرفع المشرف الحظر أولًا.
AlreadyInServer409البوت موجود في هذا السيرفر.لا شيء لتفعله.
CannotTimeoutYourself400هدف المهلة هو البوت نفسه.اختر عضوًا آخر.
TooManyEmoji400بلغ السيرفر حد الرموز التعبيرية max.احذف رمزًا أولًا.
TooManyRoles400بلغ السيرفر حد الأدوار max.احذف دورًا أولًا.
UnknownApplication404التطبيق غير موجود.تحقق من المعرّف: معرّف التطبيق هو معرّف مستخدم البوت.
ApplicationNotInstalled403استخدم أحدهم بوتًا غير موجود في هذا السيرفر.ثبّت البوت في السيرفر.
ApplicationOffline503عُلّق البوت أو أُوقف، فلا يصله شيء.يتواصل مالكه مع دعم زرزور.
SignedDeliveryRejected400فشل عنوان تفاعلات HTTP في الاختبار، ويبيّن reason السبب.انظر صفحة التفاعلات عبر HTTP.
UnknownCommand404معرّف الأمر غير معروف أو حُذف الأمر.اجلب قائمة الأوامر.
CommandAlreadyExists409يوجد أمر بهذا الاسم والنوع في هذا النطاق.استخدم PUT لاستبدال القائمة، أو عدّل الأمر.
TooManyCommands400بلغت الحد max من الأوامر من هذا النوع في النطاق الواحد.احذف أوامر أولًا.
UnknownInteraction404معرّف التفاعل أو رمزه خاطئ.استخدم القيم الواردة في InteractionCreate كما هي.
InteractionExpired410انتهت الثواني الثلاث للرد، أو الدقائق الخمس عشرة للرمز.رد أسرع. استخدم DeferredMessage للعمل البطيء.
InteractionAlreadyAcknowledged409لهذا التفاعل رده الأول من قبل.أرسل رسالة متابعة، أو عدّل الرد الأصلي.
TooManyFollowups400بلغت الحد max من رسائل المتابعة لتفاعل واحد.عدّل رسالة، أو أرسل رسالة عادية.
IsBot400هذا المسار للأشخاص. تُرفض البوتات.افعل ذلك بطريقة أخرى. يبيّن المرجع ما تستطيع البوتات استخدامه.
BotIsPrivate403لا يثبّت البوت الخاص إلا مالكه.سجّل الدخول بحساب المالك، أو اجعل البوت عامًا.
MissingPermission403ينقص البوت الصلاحية المذكورة في permission.امنح البوت الصلاحية، أو أخبر الشخص.
MissingUserPermission403ينقص الشخص الذي يعمل البوت باسمه الصلاحية المذكورة في permission.أخبر الشخص.
MissingIntent403يتطلب المسار أو الاتصال نية الاتصال المذكورة في intent.فعّلها في بوابة المطورين واطلبها عند الاتصال.
MasqueradeNameTaken400اسم التنكر يقلّد عضوًا آخر.اختر اسمًا آخر.
BotNeedsVerification403يتوقف البوت غير الموثق عند 100 سيرفر.اطلب التوثيق.
VerificationRequired403يرفض مستوى التحقق في السيرفر هذا العضو الآن، ويبيّن requirement السبب.انتظر، أو اسأل مشرفي السيرفر.
AutoModBlocked403رفضت قاعدة الإشراف الآلي rule الرسالة.غيّر النص. لا تُعد النص نفسه.
RulesNotAccepted403لم يقبل العضو قواعد السيرفر.أخبره بأن يقبل القواعد.
InvitesPaused403أوقف السيرفر الدعوات.لا تُعد المحاولة. يرفع المشرف الإيقاف.
NotElevated403الهدف في مرتبة البوت أو أعلى، أو الدور أعلى من أعلى أدوار البوت.ارفع دور البوت.
NotPrivileged403مرتبة البوت أدنى من أن تسمح بهذا التغيير.ارفع دور البوت.
CannotGiveMissingPermissions403حاول البوت منح صلاحية لا يملكها.امنح البوت هذه الصلاحية أولًا.
NotOwner403لا يفعل هذا إلا المالك.اسأل المالك.
IsElevated403مرتبة الهدف أعلى من أن يسمح بهذا.اختر هدفًا أدنى.
InternalError500حدث خطأ في السيرفر.انتظر وأعد المحاولة بمهلة متزايدة. بلّغ عنه إن استمر.
InvalidOperation400الطلب غير صالح في هذه الحالة، مثل Modal ردًا على نموذج.راجع قواعد هذا المسار.
InvalidCredentials401الرمز أو كلمة المرور أو التذكرة خاطئة.تحقق منها.
InvalidProperty400تركيبة الحقول غير مسموحة هنا.راجع جسم الطلب.
InvalidSession401الرمز مفقود أو خاطئ، أو عُلّق البوت.توقف وتحقق من الرمز. لا تفيد إعادة المحاولة.
NotAuthenticated401يتطلب المسار رمزًا ولم يصله.أرسل x-bot-token.
DuplicateNonce409استُخدم nonce نفسه لطلب مختلف.استخدم قيمة جديدة لكل رسالة جديدة.
NotFound404المسار أو الكائن غير موجود.تحقق من المسار والمعرّفات.
NoEffect400الطلب لا يغيّر شيئًا.تجاهل الخطأ.
FailedValidation400يخالف الجسم حدًا أو قاعدة، ويذكر fields كل حقل مع قاعدته، ويبيّن error أيها.صحّح الجسم. لا تُعد الطلب نفسه.
LiveKitUnavailable400الصوت غير متاح على هذا السيرفر.حاول لاحقًا.
NotAVoiceChannel400القناة ليست قناة صوتية.استخدم قناة صوتية.
AlreadyConnected400البوت متصل بهذه القناة الصوتية من قبل.اقطع الاتصال أولًا.
NotConnected400العضو ليس في قناة صوتية.راجع حالات الصوت أولًا.
UnknownNode400عقدة الصوت غير موجودة.خذ اسمًا من features.livekit.nodes في GET /.
FeatureDisabled400الميزة المذكورة في feature معطلة على هذا السيرفر.لا تُعد المحاولة. تفعّلها السيرفرات المستضافة ذاتيًا في إعداداتها.
HeaderTooLarge400ترويسة كبيرة جدًا، مثل سبب سجل التدقيق.اختصرها.
ProxyError400تعذر على وسيط الروابط أو الوسائط جلب العنوان.تحقق من أن العنوان عام.
FileTooSmall422الملف المرفوع فارغ.أرسل ملفًا له محتوى.
FileTooLarge422الملف أكبر من حد وسمه max.أرسل ملفًا أصغر.
FileTypeNotAllowed400هذا الوسم يقبل الصور فقط.أرسل صورة، أو استخدم attachments.
ImageProcessingFailed500تعذرت قراءة الصورة.أرسل صورة صالحة.
NoEmbedData400لا بيانات معاينة للرابط.تجاهل الخطأ.
MissingHeaders400ترويسة مطلوبة مفقودة.أرسل x-bot-token، وcontent-type مع الجسم.
OperationFailed500تعذر إتمام العملية.أعد المحاولة مرة واحدة لاحقًا.
IncorrectData400البيانات المخزنة لا تطابق، ويذكرها with.اجلب الكائن مجددًا.
DatabaseError500فشل طلب قاعدة البيانات في السيرفر.انتظر وأعد المحاولة بمهلة متزايدة.
VosoUnavailable400خدمة الصوت القديمة غير متاحة.استخدم صوت LiveKit.
RenderFail500تعذر على السيرفر إنشاء قالب.حاول لاحقًا.
LabelMe500خطأ سيرفر غير مصنف.حاول لاحقًا. بلّغ عنه إن استمر.
ContactSupport400يطلب السيرفر أن يتواصل شخص مع الدعم، ويبيّن msg السبب.اعرض الرسالة على المالك.
InvalidFlagValue400علامة بقيمة لا يعرفها السيرفر.راجع العلامات.
TooManySounds400لوحة أصوات السيرفر ممتلئة.احذف صوتًا أولًا. max هو الحد.
SoundAlreadyAdded409هذا الصوت من المكتبة موجود في لوحة أصوات السيرفر من قبل.لا حاجة إلى فعل شيء.
SoundLibraryUnavailable503مكتبة الأصوات غير جاهزة بعد.حاول مجددًا بعد دقيقة.
TooManySpeakers400بلغت المنصّة الحد الأقصى من المتحدثين.أعد أحد المتحدثين إلى الجمهور أولًا. max هو الحد.
PollEnded409انتهى الاستطلاع: لا تصويت بعد الآن، ولا يمكن إنهاؤه مرة أخرى.لا تُعد المحاولة.

أخطاء مسارات الحساب

نادرًا ما تراها البوتات. وهي تخص مسارات الأشخاص، مثل تسجيل الدخول.

TypeHTTPالسببالحل
AlreadyOnboarded403للحساب اسم مستخدم من قبل.يستخدمه التطبيق فقط.
AgeNotDeclared403لم يصرّح الحساب بعمره.للأشخاص فقط: أكمله في التطبيق.
UsernameTaken409اسم المستخدم مأخوذ.اختر اسمًا آخر.
InvalidUsername400في اسم المستخدم أحرف غير مسموحة.استخدم الحروف والأرقام و. و- و_.
DiscriminatorChangeRatelimited429تغيرت علامة الاسم قبل وقت قصير.انتظر.
AlreadyFriends409المستخدمان صديقان من قبل.لا أصدقاء للبوتات.
AlreadySentRequest409طلب الصداقة قيد الانتظار.لا أصدقاء للبوتات.
Blocked409المستخدم محظور.للأشخاص فقط.
NotFriends403يتطلب هذا صداقة.لا أصدقاء للبوتات.
GroupInvitesRestricted403يرفض الشخص دعوات المجموعات.للأشخاص فقط.
TooManyPendingFriendRequests400طلبات صداقة كثيرة قيد الانتظار.للأشخاص فقط.
CannotRemoveYourself400لا يستطيع مالك المجموعة إزالة نفسه.للأشخاص فقط.
GroupTooLarge403المجموعة ممتلئة.للأشخاص فقط.
AlreadyInGroup409المستخدم في المجموعة من قبل.للأشخاص فقط.
NotInGroup404المستخدم ليس في المجموعة.للأشخاص فقط.
CantCreateServers403لا يستطيع هذا الحساب إنشاء سيرفرات، ولا تستطيع البوتات ذلك أبدًا.أنشئ السيرفر بحساب شخص.
TooManyServers400بلغ الحساب حد السيرفرات.غادر سيرفرًا أولًا.
VanityUnavailable403لا يمكن لهذا السيرفر الحصول على عنوان مخصص.للأشخاص فقط.
VanityTaken409العنوان المخصص مأخوذ.اختر عنوانًا آخر.
VanityReserved400العنوان المخصص محجوز.اختر عنوانًا آخر.
VanityPaused410العنوان المخصص موقوف.اسأل الدعم.
TooManyCommunityItems400بلغ المنشئ حد العناصر.ليس للبوتات.
MissingPlatformPermission403يتطلب هذا صلاحية من فريق زرزور.ليس للبوتات.
ProfileTextFiltered422أوقف مرشح المنصة هذا النص.غيّر النص، أو اطلب مراجعته عبر الدعم.
CommunityItemConflict409تغير عنصر المعرض في الأثناء.ليس للبوتات.
TooManyReports429بلاغات كثيرة في وقت قصير.انتظر.
SafetyCaseConflict409تغيرت حالة الأمان في الأثناء.ليس للبوتات.
TooManySupercharges400بلغت حد الأجنحة.ليس للبوتات.
TooManyBotCreations429أنشأ الحساب 7 بوتات خلال آخر 7 أيام.انتظر حتى resets_at ثم أنشئ البوت.
PromotionSlotsFull409كل أماكن الترويج مأخوذة.ليس للبوتات.
NotOnDiscover400السيرفر ليس في «اكتشف».ليس للبوتات.
ReachedMaximumBots400بلغ الحساب حد البوتات.احذف بوتًا قديمًا أولًا.
IsNotBot400هذا المسار للبوتات.أرسل x-bot-token.
CannotReportYourself400لا يستطيع الشخص الإبلاغ عن نفسه.ليس للبوتات.
CaptchaFailed400فشل اختبار التحقق.للأشخاص فقط.
BlockedByShield400رفض درع التسجيل الطلب.للأشخاص فقط.
UnverifiedAccount403البريد الإلكتروني للحساب غير موثق.وثّق البريد.
EmailFailed500تعذر إرسال البريد.حاول لاحقًا.
InvalidToken401الرابط أو الرمز خاطئ أو منتهٍ.اطلب رمزًا جديدًا.
MissingInvite400يتطلب هذا السيرفر دعوة للتسجيل.للأشخاص فقط.
InvalidInvite400الدعوة خاطئة.اطلب دعوة جديدة.
CompromisedPassword400كلمة المرور في قائمة كلمات مسرّبة.اختر كلمة أخرى.
ShortPassword400كلمة المرور قصيرة جدًا.اختر كلمة أطول.
LockedOut403محاولات دخول فاشلة كثيرة.انتظر.
TotpAlreadyEnabled400تطبيق المصادقة مفعّل من قبل.للأشخاص فقط.
DisallowedMFAMethod400هذا التحقق غير مسموح هنا.للأشخاص فقط.
AgeRequirementNotMet403عمر الحساب لا يسمح بهذا.للأشخاص فقط.
AgeChangeNotAllowed403لا يمكن تغيير العمر.للأشخاص فقط.
AgeRestricted403المحتوى مقيد بالعمر.للأشخاص فقط.
TooManyServerEvents400بلغ السيرفر الحد الأقصى من الفعاليات المجدولة.للأشخاص فقط.
ForwardMatureContent403رسالة من قناة للبالغين لا تُعاد توجيهها إلا إلى قناة أخرى للبالغين.للأشخاص فقط: لا تستطيع البوتات إعادة التوجيه.

أخطاء OAuth2

يتبع POST /oauth2/token معيار OAuth2 ويجيب بالحقلين error وerror_description بدل type. انظر OAuth2.

التالي