ساعدني مع سير العمل الخاص بي للأخطاء. هذا من دورة المستوى 2

مرحباً، لقد أنهيت للتو المستوى الثاني من دورة n8n لكنني أواجه تحدياً مستمراً. سير العمل للأخطاء ينقل البيانات بنجاح إلى خادم Discord لكنني أستمر في الحصول على هذه الرسالة “Your message was invalid, Please make sure you are sending the exact text requested.” هل يمكن لأحد أن يساعد؟

“Your message was invalid, Please make sure you are sending the exact text requested.”

أهلا وسهلا @Efe_Odjada1

اطّلع على هذا المستند، سيساعدك للانتقال للمستوى الثاني Dealing with errors in workflows | n8n Docs

شكراً تامي. في الواقع، لا يوجد خطأ في سير العمل. إنها مرتبطة بالقسم الأخير من دورة المستوى 2. لقد أكملت الامتحان لكنني أدركت أنني أستمر في الحصول على رسالة خطأ تقول إنها ليست خطأ، بل رسالة تقول إن رسالتك غير صحيحة. يرجى التأكد من أنك تُرسل النص المطلوب بالضبط.

مع ذلك، يتم إخراج النتيجة إلى خادم Discord، لذا فهي ليست مشكلة في أي شيء، لكنني أعتقد أن الأمر يتعلق بخادم Discord الذي يعمل مثل عقدة طلب HTTP. هذا هو التحدي الذي أواجهه في الواقع.

آه مثالي، فهمت الآن @Efe_Odjada1
هل يمكنك من فضلك إرسال لقطة الشاشة؟

@Efe_Odjada1 دعنا نأخذ الأمور خطوة بخطوة…

1- شارك معي معرّف الدورة الخاص بك من فضلك
2- لكي تتمكن من إكمال الدورة، يجب أن تحقق النجاح في الاختبار وفي سير العمل
3- شارك ملف json الخاص بك (انسخ والصق سير العمل الخاص بك هنا من فضلك)

أحتاج إلى أن أفهم بصرياً ما الذي يحدث فعلاً.

نقطة أخرى، هل هذه الحقول موجودة في المخطط السابق؟

هذا الخطأ “message was invalid, please make sure you are sending the exact text requested” لا يأتي من n8n، بل من Discord الذي يرفض شكل الحمولة. سير العمل الخاص بك للأخطاء يعمل ويصل إلى Discord، وهذا هو الجزء الصعب المنجز، لذا هذا مجرد تنسيق الرسالة.

سببان معتادان. إذا كنت تستخدم عقدة Discord في وضع webhook، فإن حقل المحتوى له حد أقصى محدد بـ 2000 حرف، وسير عمل الأخطاء الذي يرمي الكائن الخطأ الكامل بالإضافة إلى تتبع المكدس يتجاوزه بكثير، لذا يرفض Discord الشيء برمته. قم بتقليص ما ترسله: فقط اسم سير العمل والعقدة الفاشلة ورسالة الخطأ، وليس JSON التنفيذ بأكمله. ثانياً، إذا قمت ببناء الطلب يدويًا باستخدام عقدة HTTP Request، فإن Discord يحتاج إلى الجسم كـ JSON مع خاصية content ({ “content”: “your text” })، وعدم التطابق هناك يرمي بالضبط هذا. تحقق مما إذا كنت ترسل نصًا خامًا حيث يتوقع هذا الشكل JSON.

أرسل الجزء من سير العمل الخاص بك للأخطاء الذي ينشئ رسالة Discord وعادة ما يكون واضحًا أي من الاثنين هو.

شكراً dima،

لقد حاولت كل ما أفهمه ولا أزال غير قادر على جعل مدقق الدورة يمرر البيانات. انظر إلى إعدادات عقدة discord الخاصة بي.

نعم، هذا صحيح.

شكراً لك يا أكين، سأفعل ذلك لكن إذا فهمت بشكل صحيح، فإن العقدة السابقة في هذا المثال هي عقدة Error Trigger أليس كذلك؟

@Efe_Odjada1، هل اعتبرت الإجابة التي قدمتها؟

نعم فعلت. تامي. انظر التفاصيل أدناه:
معرف الدورة: 294dc8b5a37f8f05e27abed4af0a3d02

{
“name”: “Error Workflow class”,
“nodes”: [
{
“parameters”: {},
“type”: “n8n-nodes-base.errorTrigger”,
“typeVersion”: 1,
“position”: [
-400,
-272
],
“id”: “bb092f03-cf4d-4ebc-b16a-f41de0ab5f38”,
“name”: “Error Trigger”
},
{
“parameters”: {
“authentication”: “webhook”,
“content”: “=The workflow {{ $json.workflow.name }} failed, with the error message: {{ $json.execution.error.message }}. Last node executed: {{ $json.execution.lastNodeExecuted }}. Check this workflow execution here: {{ $json.execution.url }} My Unique ID: 294dc8b5a37f8f05e27abed4af0a3d02\n”,
“options”: {}
},
“type”: “n8n-nodes-base.discord”,
“typeVersion”: 2,
“position”: [
-176,
-272
],
“id”: “6ab7a173-39fe-40b7-ac61-e1efb11cf0a9”,
“name”: “Discord1”,
“webhookId”: “10314504-197e-4372-8b6f-4a4bf0e27e59”,
“credentials”: {
“discordWebhookApi”: {
“id”: “Lbq7pZ6uvqoHkyOs”,
“name”: “n8n Discord Channel”
}
}
}
],
“pinData”: {},
“connections”: {
“Error Trigger”: {
“main”: [
[
{
“node”: “Discord1”,
“type”: “main”,
“index”: 0
}
]
]
},
“Discord1”: {
“main”: [

]
}
},
“active”: true,
“settings”: {
“executionOrder”: “v1”,
“binaryMode”: “separate”
},
“versionId”: “d1721dc5-8db0-48f5-9c7f-c5ec256697d6”,
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “e9c31beabcdb75730bd28ced0cf214a1bc9610c6dd95d58689f0b7cada3d4505”
},
“id”: “lc6Bw3bq64ROgpw1”,
“tags”:
}

هل تحققت من وجود أي مسافات بيضاء؟ لا أعرف ما إذا كانت من المفترض أن تكون هناك، لكنني أرى رمز ‘\n’ في رسالة Discord، حتى المسافة البيضاء هنا وهناك يمكن أن تسبب هذا الخطأ.

بالتأكيد فعلت ذلك. حاولت ذلك وعدت إلى النص بدون مسافات بيضاء

@Efe_Odjada1

عليك إرسال الرسالة إلى ديسكورد.
يرجى الاطلاع على توثيق الدورة واتبع الخطوات خطوة بخطوة لإكمال الدورة.
ادخل إلى ديسكورد n8n ليتم التعرف على مستخدمك، ثم شغّل سير العمل.
ستحتاج إلى وضع علامة اختيار في الحقول الثلاثة في الصورة.
أخبرنا بعدها إذا نجح الأمر.

لقد حاولت كل شيء لإصلاح هذا لكنني عالق

مرحبا، صباح الخير @Efe_Odjada1
أنصحك بإعادة البدء لفهم ما يحدث، وبما أنه تدفق دراسي فمن الأفضل أن تحاول بمفردك.

اتبع هذه الوثائق
Notifying the team | n8n Docs