يسعدني دعوتك إلى مثيلي! لا أعرف ما إذا كان برنامجك الإضافي يسجل في أي مكان، ولكن يمكنني إرسال ذلك لك إذا كان ذلك سيساعد؟
تعديل: عند تفويضك للبوت، ما الأذونات التي منحتها له هناك؟
يسعدني دعوتك إلى مثيلي! لا أعرف ما إذا كان برنامجك الإضافي يسجل في أي مكان، ولكن يمكنني إرسال ذلك لك إذا كان ذلك سيساعد؟
تعديل: عند تفويضك للبوت، ما الأذونات التي منحتها له هناك؟
يتطلب البوت صلاحية المسؤول:
يجب منح الأذونات عبر المتصفح كما هو موضح هنا (وفي المنشور الأصلي):
شبيه بهذا الرابط: https://discord.com/api/oauth2/authorize?client_id=YOURCLIENTID&scope=bot&permissions=8
مشكلتك تكمن على الأرجح في جانب Discord، حيث يبدو أن خادم بوت Discourse يعمل (لقد أثبتت ذلك باستخدام أمر Ping!)، لذا فإن سجلات Discourse لن تكون ذات صلة.
لقد أعيدت اختبار هذا الملحق على أحدث إصدار من Discourse، وجميع الوظائف تعمل بشكل صحيح (قمت بتحديث عدد من حزم gems إلى إصدارات أحدث لضمان التوافق مع الإضافات الأخرى، لكن هذا لا علاقة له بمشكلتك).
نعم، لقد أعيدت الدعوة عدة مرات دون أي تغيير. إنه مسؤول، ويملك نطاق البوت. أنا الشخص الذي يدعوه إلى ديسكورد، وأنا مالك خادم ديسكورد. لكنه ببساطة لا يتعرف عليّ ويعيد رسالة “ليس لديك إذن لتنفيذ أمر discsync!”
أنا محير للأسف!
هاها! يبدو أنني تمكنت من تشويه معرف مجموعة المسؤول بطريقة ما! يبدو أن مهمة النسخ/اللصق الخاصة بي قد أغفلت رقمًا…
لذا، وكسؤال تابع، أنا أحاول الآن تعيين ألوان للأشخاص في ديسكورد بناءً على مستوى ثقتهم في ديسكورد. للحصول على مستويات الثقة لنسخها، أعتقد أن الأمر يجب أن يكون:
!discsync false, 0, true
هل هذا صحيح؟ إنه يعيد لي ما يلي:
تعديل: يتم إرجاع نفس النتيجة إذا قمت بتشغيل الأمر بدون فواصل، أي:
!discsync false 0 true
زد من مستوى ظهورك. مجموعات النظام الآليّة الافتراضية تكون على مستوى ظهور 1 (“المستخدمون المسجلون”)، لذا إذا كانت هذه القيمة صفرًا، فستستبعد مجموعات النظام الآليّة الافتراضية:
الصفر سيضمّن فقط المجموعات الظاهرة للجميع بما في ذلك المجهولون.
هذا أنا جاهز تمامًا. شكرًا جزيلاً لك — تقديرك كبير.
هل يمكنني المساعدة بدوري من خلال كتابة بعض ما تعلمته في دليلك؟ إذا لم يكن ذلك ممكنًا، فلا مشكلة؛ أنا فقط أطمح إلى ردّ جميل دعمك.
هذا لطيف جداً. سأكون سعيداً جداً إذا قمتِ بتحريره. يجب أن تتمكني من فعل ذلك بالفعل؟ إنه ويكي
لقد ساعدتني أيضاً في استعادة ذاكرتي ![]()
لا أحتاج حقًا إلى مزامنة الأدوار، لكن سيكون من الرائع وجود بوت ديسكورد ينشر في قنوات محددة من خادم ديسكورد عند إنشاء مواضيع جديدة في المنتدى. هل هناك أي إضافة يمكنها القيام بذلك؟
نعم، من المحتمل أن هذه الإضافة ليست الأداة المناسبة لذلك. يعمل البوت بناءً على نظام Discourse الخاص بك ويمكنه الوصول إلى بيانات Discourse (حيث يُسمح بذلك وعند طلب الأمر)، لكنه يعمل في خيط منفصل، لذا لن يتم إشعاره بأحداث Discourse.
أعتقد أنه قد يكون من الممكن توسيعه في مرحلة ما لمراقبة ظهور مواضيع جديدة ضمن فئة محددة مثلاً. هذا ليس الاستخدام الأمثل لهذا الهيكل، لكننا نرحب بطلبات الدمج (PR).
يبدو أنك بحاجة إلى البحث في:
أو
نعم، لقد بحثت في كلا الخيارين. الخيار الأول، وهو Zapier، ليس مجانيًا. يمكنك إنشاء ما يصل إلى 5 عمليات Zap مجانية، وهي عمليات ذات خطوة واحدة. هذا ما تم قوله بالضبط في ذلك الموضوع، لذا كان البديل المقترح هو إضافة discourse-chat-integration التي يُزعم أنها إضافة رسمية. أعتقد أن هذا هو أقرب طريقة للقيام بما أريد فعله.
يبدو أن الخيار الأخير هو إضافة لتغذية RSS:
تحديث: بعد تعلم كيفية إعداد القواعد بشكل صحيح وتكوين الويب هوكس، تعمل إضافة التكامل مع الدردشة تمامًا كما أردت! شكرًا لك.
مرحبًا @merefield،
شكرًا لك مرة أخرى على التواصل بخصوص هذه الإضافة!
لقد قمت بتثبيت كل شيء كما هو موصوف في التوثيق. أستخدم الأمر: !discsync وكل شيء يبدو جيدًا من جهتي. ![]()
ومع ذلك، بالنسبة لبعض المستخدمين (وليس جميعهم)، أواجه هذا الخطأ بالنسبة لجميع مجموعاتهم:
Discourse Sync: [11/31] إضافة العضو 'MaxMustermann' إلى 'Member'
Discourse Sync: يبدو أنني لا أملك الصلاحيات للقيام بذلك!
خطأ على الخادم XYZ (المعرف: 123123123123) للأمر ^add_role، الطريقة add_role غير معرفة لـ nil:NilClass
يمكن مزامنة مستخدمين آخرين لنفس المجموعة ![]()
هذا يشير إلى أن provider_uid الخاص بك في Discourse غير مُعيّن لذلك المستخدم. يرجى التحقيق.
أحسنت في إعداد هذا الأمر، بالمناسبة. إنه معقد للغاية ولا يناسب من يفتقرون إلى الشجاعة! :).
نفذت هذا الاستعلام في إضافة Knowledge Explorer:
SELECT *
FROM user_associated_accounts u
WHERE u.provider_name = 'discord'
لا يمكنني نشر النتيجة لأسباب
، لكنني تحققت من كل مستخدم لمعرفة provider_uid الخاص به، وكل مستخدم لديه واحد. هل هناك أي شيء آخر يمكنني تصحيحه؟
ثم إن المشكلة الأكثر احتمالاً هي أن معرف المستخدم (UID) في ديسكورد المربوط حالياً غير صحيح.
أي أن البيانات في ديسكورد لا ترتبط بمعرف مستخدم (UID) صالح في ديسكورد.
تحقق يدوياً من سجل هذا المستخدم في ديسكورد وتأكد من صحته.
مرحبًا، يمكنني تأكيد ذلك. يمتلك المستخدم معرف مستخدم (UID) مختلفًا في Discourse مقارنةً بـ Discord.
كيف يمكن إعادة إنتاج هذه المشكلة؟
هل يمكنك حذف الارتباط وطلب من المستخدم إعادة إنشائه عن طريق ربط Discord مرة أخرى؟ إذا تكرر ذلك، فهل هناك خلل في تسجيل الدخول عبر وسائل التواصل الاجتماعي؟
مرحباً،
أردت فقط المتابعة. لقد تحدثت مع الأشخاص الذين واجهوا هذه المشاكل. تمكنا من تحديد المشكلة المحتملة.
لقد سجل المستخدم دخوله باستخدام حسابه القديم على ديسكورد، وهو الحساب الذي لم ينضم من خلاله إلى الخادم. لذا، يبدو أن بوت المزامنة لم يتمكن من العثور على مستخدم ديسكورد، مما أدى إلى حدوث خطأ.
شكرًا للتوضيح. هل يمكنك تأكيد كيفية حل المشكلة؟ هل قمت بحذف ارتباطه ثم طلبت منه إعادة الارتباط؟
هذا ما فعلناه. ![]()