حسناً. هذا محبط بعض الشيء بما أنني قمت للتو بتطبيق الخيوط (threads) في قنوات الدعم الخاصة بنا على Discord للحصول على نظرة أفضل لحالات الدعم. ولست متأكداً مما إذا كان هذا يحقق ذلك بالفعل - ولكن لحسن الحظ هناك مزايا أخرى.
هل لديك موعد تقديري لواجهة برمجة التطبيقات (API) وفكرة عن تكلفة دعم هذه الميزة؟
لقد تابعت مؤخرًا وكان قيد التطوير لبعض الوقت. سأتابع مرة أخرى وأعود، ولكن كن حذرًا، في المرة الأخيرة أخبروني “سيتم الانتهاء منه عندما يتم الانتهاء منه”… المشكلة مع المصادر المفتوحة غالبًا ما تكون نقص طريقة جيدة لتوجيه المستويات المناسبة من تمويل المجتمع (أو عدم وجوده) للمساعدة في التركيز وتحديد الأولويات… سنرى…
من جهتي، سأحتاج إلى رؤية التنفيذ النهائي لتقدير الجهد.
قد يكون التحدي هو أنه بينما يسهل نسخ الرسائل، فإن مزامنة Threads مع Topics قد تتطلب نوعًا من التعيين الذي يتم الاحتفاظ به في Discourse، على سبيل المثال، حقل مخصص أو جدول يعين Discord Threads إلى Discourse Topics، لذلك عندما تتم إضافة رسالة جديدة إلى Thread، تعرف أين تضعها في Discourse.
هل يمكنك توضيح الوظيفة/السلوك الذي تبحث عنه بالضبط؟
نعم، هذا أمر سيء أن تعتمد على شيء لا يمكنك التأثير عليه.
فكرتي مستوحاة جدًا من المقال والمناقشة على مدونة Discourse حول مدى تكامل Discord و Discourse بشكل جيد. عندما بدأنا خادم Discord الخاص بنا قبل شهرين تقريبًا، لم نكن نعرف حقًا كيف سيتطور وكيف سيؤثر على منتدى Discourse الحالي (ولكنه بالكاد تم تكوينه) ، ولكن يبدو أن الناس ما زالوا يستخدمونه وكذلك Discord الخاص بنا لطرح أسئلة الدعم الفني (أنا مع مشروع FOSS CrowdSec). لذا ، بشكل أساسي ، أنا أؤمن تمامًا بفكرة استخدام Discourse كذاكرة طويلة الأجل ومزامنة سلاسل Discord إلى Discourse تحت مواضيع تطابق قنوات Discord (والعكس صحيح). الطريقة التي أراها ، يمكن القيام بذلك بشكل أكثر فعالية (على سبيل المثال ، تلقائيًا) باستخدام السلاسل.
كما قلت ، لقد فرضت مؤخرًا استخدام السلاسل على Discord ، مما يعني أنه ليس من السهل دائمًا الحصول على نظرة عامة على السلاسل لأولئك من المطورين لدينا المكلفين بدعم المستخدمين. لذلك أريد استخدام المزامنة إلى Discourse أيضًا كطريقة جيدة لهم لمواكبة الأسئلة التي يجب الإجابة عليها دون أن ينجذبوا كثيرًا إلى ثرثرة Discord.
هل هذا منطقي؟ وهل هناك أي طريقة أخرى لتحقيق ذلك في إطار زمني أقصر ربما؟
أتواصل معك هنا لأنني لا أعتقد أن مشكلة GitHub الخاصة بي قد تمت رؤيتها، وأعتقد أن هذا هو أفضل مكان تالٍ.
لقد كنا نواجه خطأً تعقبناه إلى إضافة بوت Discord. تعرض الصورة أعلاه خطأ فحص العنصر، ولكن أي مستخدم يرسل رسالة خاصة يتلقى أيضًا خطأ مرئيًا “500 Error” عند إرسال رسالته الخاصة. لا تزال الرسالة الخاصة تُرسل بنجاح، ولكن هذا الخطأ يجعله يبدو بخلاف ذلك. بعد تعطيل الإضافة، لم تعد المشكلة موجودة.
أنا متأكد من أن المشكلة تأتي من /lib/discourse_event_handlers.rb. أفترض أن رسالة خاصة تؤدي إلى تشغيل حدث DiscourseEvent لإنشاء منشور، مما يجعله يحاول الوصول إلى فئة المنشور عبر posted_category = post.topic.category.id، مما يسبب الخطأ.
آمل أن يساعد هذا وأن يتم حل هذه المشكلة قريبًا. شكراً.
مرحباً، لست متأكداً مما إذا كان هذا قد تم طرحه من قبل، ولكن هل يجب أن تكون بيانات اعتماد OAuth هي نفسها الخاصة بالتطبيق؟ لأننا حاليًا نستخدم تكاملًا آخر لمزامنة Discord والحقول الخاصة بـ OAuth مملوءة بالفعل. شكرًا.
هذا المكون الإضافي متوافق مع حل تسجيل الدخول الاجتماعي الرسمي في النواة. يحتاج الروبوت إلى رمز مميز من تطبيق Discord مصرح به. يسمح تسجيل الدخول الاجتماعي للمكون الإضافي بتحديد نفس المستخدم عبر المنصتين.
يفيد هذا البوت، على حد علمي، بأنه “أحادي الاتجاه” من Discourse إلى Discord. لا توجد وظائف معاكسة مدمجة.
شخصيًا، أعتقد أنه سيكون من الأسهل تحقيق ذلك باستخدام كود خارجي يراقب خطاف الويب الخاص بأحداث المستخدم لتثبيت Discourse الخاص بك.
حدث خطاف الويب → الحصول على معرف مستخدم Discord من قاعدة بيانات Discourse (يتطلب استخدام مصادقة Discord) → الحصول على الأدوار باستخدام discord.js أو .py أو ما شابه → تعيين الدور بطلب API الخاص بـ Discourse
للحصول على معرف Discord، تحتاج إلى استخدام المكون الإضافي Data Explorer وإنشاء الاستعلام التالي:
-- [params]
-- string :user
SELECT u.username, u.id, a.user_id, a.provider_name, a.provider_uid
FROM users u
JOIN user_associated_accounts a on a.user_id = u.id
WHERE u.username = :user
يمكنك بعد ذلك البحث في وثائق المكون الإضافي Data Explorer والوصول إلى هذا الاستعلام بطلب API للحصول على المعرف.
للحفاظ على المعرفة مفتوحة ومفهرسة للجميع، من الأفضل على الأرجح طرح الأسئلة هنا. ديسكورد عبارة عن ثقب أسود للمعلومات. تدخل الأشياء ثم لا يتم العثور عليها مرة أخرى وبخلاف ذلك، لدينا أيضًا دردشة هنا على ديسكورس.