هل نعرف ما قد يكون وضعنا في جعل هذا الإضافة تقوم بتحديث المستخدمين تلقائيًا عند انضمامهم إلى المجموعة بدلاً من المزامنة اليدوية؟ وهل هناك إمكانية محتملة لتحديد المجموعات أو الأدوار التي نريد مزامنتها معًا بدلاً من أن تقوم الإضافة بالسيطرة على الأدوار أو إنشائها بنفسها؟
هذه أول مرة يُطلب فيها ذلك، لذا كما تتخيل، لم يتم تضمينها حتى في قائمة الانتظار.
سيكون ذلك صعبًا بعض الشيء لأن البوت يعمل على خيط منفصل. ستحتاج إلى إضافة طريقة لرسالة البوت والتأكد من أنه يستمع إلى الطلب. تمرين تقني مثير للاهتمام لكنه ليس تافهاً.
بدلاً من ذلك، قد يكون من الأفضل استكشاف بديل استدعاء API مباشر بدلاً من استخدام البوت. ثم عليك أن تقرر ما إذا كان ذلك يستحق التسليم في إضافة مختلفة بناءً على استدعاءات منفصلة، وليس بوتًا.
هذه فكرة ليست سيئة، لكن لماذا تحتاج إلى أن تكون مختلفة من باب الفضول؟
هذا أكثر عملية.
تم قبول طلب السحب (PR). للأسف، وقتي محدود جدًا للعمل على ميزات كبيرة دون تمويل.
حسنًا، كما هو الحال حاليًا، يبدو أن النظام يعتمد على “الاسم” بدلاً من “اللقب” في تحديد الأدوار. وهذا يعني أن أدواري على ديسكورد تنتهي بكلمات مثل “dashing” وبدون مسافات، على سبيل المثال. لذا، أفترض أن الحل البديل هو جعل النظام يعتمد على الاسم الكامل أو اللقب الافتراضي بدلاً من الاسم فقط.
ومع ذلك، قد توجد مجموعات على منصة ديسكورد لا أود مزامنتها مع ديسكورد على الإطلاق.
أعتقد أنه من الممكن إضافة وظيفة مثل ‘كرر هذا مرة أخرى بعد x ساعات’ دون أي مشكلة.
المشكلة مع ذلك هي أنها ستتوقف في كل مرة ينخفض فيها البوت (على سبيل المثال، عند إعادة التشغيل).
أفضل نهج مطلق هو إما:
أ) إضافة استدعاء API منفصل متصل بمهمة Sidekiq إلى هذه الإضافة، أو
ب) كتابة إضافة جديدة تستخدم استدعاءات API عادية بدلاً من استخدام بوت (وتضمين مزامنة دفعة في ذلك).
أنا أستخدم إضافةك حاليًا، وقد وصلت إلى مرحلة عمل مقبولة. يبدو الأمر رائعًا حقًا، عمل ممتاز!
ومع ذلك، لدي بعض الأسئلة: الآن بعد أن يعمل كل شيء، أحتاج إلى أن يسجل مستخدموا الدخول عبر Discord OAuth. وهذا يؤدي إلى إنشاء حساب جديد.
ما هي أفضل طريقة لإدارة هذا؟ هل أحتاج إلى دمج الحساب الجديد مع القديم؟ لقد جربت ذلك مع حساب المسؤول، وحصلت على الخطأ “ليس لديك إذن بتنفيذ أمر discsync!” عند محاولة تشغيل !discsync يدويًا.
بالإضافة إلى ذلك، لم يتم نسخ أي أدوار من منصة Discourse الخاصة بي حتى الآن.
للعلم، يظهر حساب Discord الخاص بي في خياراتي على أنه حساب مرتبط.
تظهر الإعدادات المذكورة أعلاه بغض النظر عما إذا كنت قد أضفت هذه الإضافة إلى Discourse أم لا.
إذا قمت بتسجيل الدخول عبر الحساب الاجتماعي، وطابقت عناوين البريد الإلكتروني المسجلة، فسيتم التعرف على الحساب ولن يتم إنشاء حساب جديد. أما إذا كان المستخدم قد سجل في Discord باستخدام بريد إلكتروني مختلف عن بريد Discourse، فبالطبع لا توجد طريقة لمعرفة أنهما نفس المستخدم، وبالتالي سيتم إنشاء حساب جديد.
هل تقصد حساب المسؤول على خادم Discord؟ وهل قمت أيضًا بتفويض البوت؟
تخميني هو أن حقوقك أو حقوق البوت على خادم ديسكورد لم تُعد بشكل صحيح بطريقة ما. أنا فقط أجدد ذاكرتي مع هذه الإضافة بينما أعمل على عشرات الإضافات. آخر تغيير قمت به لهذه الإضافة كان منذ فترة!