أنا مسؤول منتديات منظمة لديها مستويات متعددة من العضوية، والتي تتوافق مع عضوية مجموعات مخصصة في المنتدى. حاليًا، يتطلب هذا عملية يدوية لكل عضو جديد حيث أحصل على عنوان البريد الإلكتروني للعضو الجديد، وأتحقق مما إذا كان مرتبطًا بحساب مستخدم، ثم أضيفه إلى المجموعة المخصصة.
ما أود الحصول عليه هو برنامج نصي يأخذ قائمة بعناوين البريد الإلكتروني، وإذا كان هناك مستخدم بهذا العنوان، أضفه إلى مجموعة، وإذا لم يكن كذلك، أرسل دعوة مع إضافة إذن المجموعة بالفعل. كيف يمكنني كتابة برنامج نصي كهذا؟
شكرا!
تعديل:
مثال من الأسفل:
لدي عناوين البريد الإلكتروني الثلاثة هذه: alice@example.com - ينتمي إلى عضو في المنتدى ليس عضوًا في مجموعة SomeGroup bob@foo.org - ينتمي إلى عضو في المنتدى وهو عضو في مجموعة SomeGroup carol@bar.edu - لا ينتمي إلى عضو في المنتدى.
أود إضافة المستخدم المرتبط بـ alice@example.com إلى SomeGroup (وإرسال رسالة ترحيب)، وعدم فعل شيء للمستخدم bob@foo.org، وإرسال دعوة للمنتدى مع علامة تسجيل المجموعة إلى carol@bar.edu.
إذا أرسلت رابط دعوة، فسيعمل أيضًا للأعضاء الحاليين. يمكنك حتى توجيههم إلى موضوع معين للوصول إليه عند وصولهم، لذا يمكن أن يكون جيدًا لتسجيل المجموعات أو الأحداث.
لدي عناوين البريد الإلكتروني الثلاثة هذه: alice@example.com - ينتمي إلى عضو في المنتدى ليس عضواً في مجموعة SomeGroup bob@foo.org - ينتمي إلى عضو في المنتدى وهو عضو في مجموعة SomeGroup carol@bar.edu - لا ينتمي إلى عضو في المنتدى.
أود أن يقوم البرنامج النصي بإضافة المستخدم المرتبط بـ alice@example.com إلى SomeGroup (وربما إرسال رسالة ترحيب)، وعدم القيام بأي شيء للمستخدم bob@foo.org، وإرسال دعوة مع علامة تسجيل المجموعة إلى carol@bar.edu.
بدلاً من استخدام قائمة بعناوين البريد الإلكتروني، سيكون من المنطقي استخدام واجهة برمجة التطبيقات (API) لهذا الغرض. لذلك، عندما يقوم المستخدم بالتسجيل، يجب عليك تسجيله تلقائيًا في المجموعة باستخدام واجهة برمجة التطبيقات هذه: Discourse API Docs
يتطلب ذلك أن يكون لديك المستخدم مُنشأ بالفعل في Discourse في الوقت الذي تستخدم فيه واجهة برمجة التطبيقات. قد يتطلب هذا المزيد من الإعداد، ولكنه يمكن أن يؤتمت العملية بالكامل لك حتى لا تقوم بتحميل عناوين البريد الإلكتروني للمستخدم يدويًا.
المسألة هي أن ما لدي في الواقع هو قائمة بعناوين البريد الإلكتروني، وليس أسماء المستخدمين. تحتفظ مؤسستي بمستويات عضوية الأشخاص حسب الاسم والبريد الإلكتروني، وليس اسم مستخدم المنتدى لأن المنتدى جزء صغير من المؤسسة. يرسل منسق العضوية لي قائمة بالأسماء ورسائل البريد الإلكتروني كل أسبوع للأعضاء الجدد. قد يكون لديهم بالفعل حساب منتدى أو لا يكون لديهم عندما يحدث هذا نظرًا لأن لدينا قسمًا عامًا للمنتدى.
هناك احتمال أن أكون قد أربكت نفسي. دعني أستكشف وأرى ما إذا كانت هناك طريقة لتحقيق ما تريده باستخدام ميزات المنتدى الحالية.
تعديل:
أعتقد أن هذا ممكن باستخدام خيار الدعوة المجمعة. إذا كان لديك ملف csv لعناوين البريد الإلكتروني، مع عمود ثانٍ للمجموعات التي ترغب في إضافتهم إليها، فإن تشغيل ذلك عبر أداة الدعوة المجمعة سيرسل دعوة عبر البريد الإلكتروني لأي شخص ليس لديه حساب، وسيضيف الأعضاء الحاليين إلى المجموعات التي أدخلتها في العمود الثاني. على الرغم من أن الجزء المفقود هو أن هذا لا ينشئ إشعارًا يفيد بأنه تمت إضافتك إلى المجموعة.
لقد فهمت الارتباك الذي كان لدي. الروابط هي التي تفعل ما كنت أعتقده، وليس رسائل البريد الإلكتروني. لذا فإن الطريقة الأخرى ستكون إنشاء رابط دعوة (بدلاً من البريد الإلكتروني)، ثم إرسال هذا الرابط في بريد إلكتروني إلى جميع الأشخاص الموجودين في قائمة بريدك الإلكتروني. سيتم توجيه الأعضاء الجدد إلى صفحة “إنشاء حساب وقبول الدعوة” قبل إضافتهم إلى المجموعة وإرسالهم إلى الموضوع (إذا أضفت هذا المعيار)، وسيتم إضافة المستخدمين الحاليين الذين قاموا بتسجيل الدخول بالفعل إلى المجموعة وإرسالهم مباشرة إلى الموضوع الذي وجهتهم إليه، ويمكن للمستخدمين الحاليين الذين لم يقوموا بتسجيل الدخول تسجيل الدخول من صفحة “إنشاء حساب وقبول الدعوة” (على الرغم من أنه من غير الواضح قليلاً ما إذا كان يمكنك القيام بذلك، ولكن يمكنك إضافة بعض النصوص الإضافية إلى الصفحة في js.create_account.subheader_title لإضافة تلميح بسيط)، ثم تتم إضافتهم إلى المجموعة وإرسالهم إلى الموضوع:
ومع ذلك، فإن هذه الطريقة لا ترسل أيضًا إشعارًا يفيد بأنه تم إضافتهم إلى المجموعة، ولكن تحصل على فرصة لتضمين شرح في البريد الإلكتروني الأولي للدعوة والذي قد يكون مفيدًا؟ ويمكن أيضًا الاستفادة من “الوصول إلى الموضوع” بطريقة مماثلة كصفحة هبوط.
لست متأكدًا مما إذا كان هذا مفيدًا، ولكني سعيد لأنني اكتشفت ذلك.