الآن، هذا على الأرجح خطأي، لكنني لا أستطيع معرفة السبب. لقد مررت على جميع المواضيع المتعلقة بالمسألة، وأود الحصول على بعض المساعدة. لقد تحققت وفحصت مرتين أذونات تطبيق Slack الخاص بي، ويمكنني تأكيد أنه يعمل بنسبة 100%… في إحدى قنواتي فقط!
/discourse post 20
لذا أعرف أن رمز الوصول مُعد ويعمل بشكل صحيح. ومع ذلك، في جميع القنوات الأخرى ضمن فريق Slack الخاص بي، يُصدر الأمر أعلاه فقط:
جاري تحميل النص...
وهذا كل شيء. جميع هذه القنوات عامة، وقد جربت كل تركيبة ممكنة من الإعدادات. القناة الوحيدة التي تعمل تم إنشاؤها اليوم، ولكن عندما أنشأت قناة جديدة أخرى للاختبار، لم تعمل. لا أعرف حتى من أين أبدأ في استكشاف المشكلة. السجلات الوحيدة التي أعرفها في Discourse هي:
./launcher logs app
ولكن لا يبدو أن هناك أي شيء هناك على الإطلاق. ما الإعداد الذي قد يكون قد فاتني والذي يسمح بالعملية بالنشر في قناة واحدة فقط، وأين يمكنني البحث عن تصحيح هذا الخطأ؟
تحقق مما إذا كان بإمكانك النشر من Discourse إلى القنوات التي تحاول النشر منها إلى Discourse. أعتقد أن المشكلة هي أنك بحاجة إلى إضافة التطبيق الذي أنشأته إلى القناة قبل أن تتمكن من النشر إليها أو منها.
@سيمون، أعتقد أن هذا قد يكون هو الحل! سأكون صادقًا، أنا مرتبك قليلاً من طريقة عمل تطبيق Slack. نظرًا لأنني تمكنت من تشغيل أوامر /discourse ... في أي قناة Slack، وكان التطبيق يبدو أنه مُثبّت على مستوى عالمي، بدا لي أنني قمت بـ “إضافة” التطبيق بكل الطرق الضرورية. ومع ذلك، عندما قمت صراحةً بـ /invite مستخدم تطبيق Discourse الخاص بي إلى قناة أخرى، بدأ يعمل!
/invite @Discourse
/discourse post 20
ما هو مزعج جدًا في هذا الأمر هو أن Slack لا يظهر لي حتى أن مستخدم @discourse الخاص بي موجود في قناتي بعد إضافته. لا يتغير عدد المستخدمين في واجهة مستخدم Slack، وإذا قمت بعرض جميع أعضاء القناة، فإن مستخدم التطبيق الخاص بي غير مدرج هناك. أفترض أن هذا نقص في Slack نفسه، وليس في Discourse.
سيكون من الجميل عدم الحاجة إلى دعوة مستخدم Discourse إلى كل قناة Slack في فريقنا (الله يعلم، لدينا عدد هائل من القنوات)، لكنني أفترض أن هذا يجب أن يكون قيدًا في Slack للتطبيقات؟ أيضًا، هل هناك تحسين يمكننا إضافته إلى إضافة الدردشة في Discourse لاكتشاف هذه المشكلة وعرض رسالة خطأ أكثر فائدة؟
في المرة الأولى التي حاولت فيها إعداد هذا، فوجئت بالحاجة إلى إضافة تطبيق Discourse إلى كل قناة. سأظل أبحث عن أي طريقة لتجاوز هذا الشرط.
ربما يتم إرجاع رسالة خطأ من Slack إلى Discourse عندما يفشل إجراء ما بسبب عدم امتلاك التطبيق لأذونات النشر من/إلى القناة. في حال كان الأمر كذلك، فسيكون استخدام الخطأ لإضافة إشعار إلى مدخل القناة في Discourse مفيدًا لتصحيح هذا النوع من المشكلات. لست متأكدًا مما إذا كان هذا ممكنًا، لكنني سأتحقق لمعرفة ما إذا كانت Slack تعيد أي معلومات مفيدة لـ Discourse في هذه الحالة.
يبدو أن هذا صحيح. لقد اختبرته فقط مع Slack. عندما يحاول Discourse النشر في قناة Slack لم يتم إضافة التطبيق إليها، تظهر تحذير في صفحة تكاملات الدردشة وتظهر رسالة خطأ فوق القناة التي تواجه المشكلة:
ربما يمكن لـ Discourse تحليل رسالة الخطأ هذه لتقديم تفاصيل للمستخدم حول ما يجب فعله لحل المشكلة.
عند محاولتي النشر في Discourse باستخدام أمر شريطي (slash command) من قناة لم يتم إضافة التطبيق إليها، يتم إرجاع خطأ Job exception: break from proc-closure في Discourse من الملف slack_command_controller.rb:86. لست متأكدًا مما إذا كانت هناك معلومات كافية يتم إرجاعها من Slack لإنشاء رسالة خطأ ذات معنى لهذه الحالة.