We have a user locked at trust level 0. I know that there are posting limits for users at TL0, but I’m having a hard time discerning whether the post limits are comprehensive, or per day.
This post indicates that the limit is not on the total amount of posts:
But this post seems to suggest that it’s actually a limit overall.
I am hoping that the post restrictions for TL0 could be on a per-day basis, not overall, as I can’t find any other method with which to restrict the amount that some users post without affecting all users. But, I can’t quite get a clear picture of how specifically TL0 users are restricted.
משתמשי TL0 כפופים למגבלות “היום הראשון” לאחר יצירת החשבון. אלו הן:
max_topics_in_first_day (ברירת מחדל: 3)
max_replies_in_first_day (ברירת מחדל: 10) אלו מגבילות את מספר הנושאים/תגובות שמשתמש יכול ליצור ב24 השעות הראשונות לאחר הפוסט הראשון שלו. לאחר מכן, מגבלות אלו אינן חלות עוד.
הגבלות לפי נושא עבור TL0:
newuser_max_replies_per_topic (ברירת מחדל: 3) — מספר התגובות המרבי המותר על ידי משתמש חדש בנושא בודד לפני שמישהו אחר מגיב. זאת כדי למנוע ספאם בנושאים, לא פרסום כללי.
אין מגבלה כוללת או קבועה על סך הפוסטים עבור משתמשי TL0. לאחר תקופת “היום הראשון” הראשונית, משתמשי TL0 כפופים למגבלות כלליות בכל האתר (max_topics_per_day וכו’), ולא למגבלה קשיחה ספציפית ל-TL0.
יצרתי פתרון עוקף באמצעות כמה כלים שונים (הקידוד שלי לא חזק מספיק כדי לבנות תוסף מותאם אישית!). זה נבדק ועובד.
יצרתי קבוצה חדשה, restricted-users
יצרתי טופס אשף מותאם אישית, מוגבל לקבוצת המודרטורים
יצרתי קטגוריה חדשה שניתנת לצפייה רק על ידי מודרטורים, restricted-users-admin והחלפתי את המלחין בטופס האשף המותאם אישית.
כאשר משתמש צריך להגביל את יכולת הפרסום שלו, מודרטור ממלא את טופס האשף המותאם אישית. הטופס שואל איזה משתמש יש להוסיף לקבוצה, ובאיזה תאריך יש להסירו.
שליחת הטופס יוצרת נושא חדש ב-restricted-users-admin
יצרתי webhook עבור קטגוריה זו כדי לשלוח כל נושא חדש שנוצר.
כאשר ה-webhook מתקבל, ראשית בדוק אם המשתמש כבר נמצא בקבוצה, וצור תגובה לפוסט עם מידע זה אם כן. אם המשתמש אינו בקבוצה, הוסף אותו לקבוצה, ואז המתן עד לתאריך/שעה הנתונים לסיום, ואז הסר אותו מהקבוצה.
יצרתי webhook עבור כל פוסטים של משתמשים בקבוצת restricted-users.
כאשר המשתמש המוגבל מפרסם וה-webhook נשלח, בצע קריאת API כדי לקבוע כמה פוסטים המשתמש עשה באותו יום (השתמשתי באותו יום במקום בפרק זמן של 24 שעות, חשבתי שזה פשוט יותר להתאים את התאריך, אני מניח). סיננתי הודעות פרטיות כאן.
אם זה הפוסט הלפני אחרון שהמשתמש זמין, ה-API שולח למשתמש הודעה פרטית המודיע לו שהוא מתקרב למגבלה שלו ויש לו עוד פוסט אחד היום. כהוכחת היתכנות, קבעתי את המגבלה על 5 פוסטים, כך שזה שולח הודעה פרטית לאחר הפוסט הרביעי של המשתמש.
אם זה הפוסט האחרון שלו, ה-API משתיק את המשתמש למשך 24 שעות.
כאשר המשתמש מוסר מקבוצת restricted-users, ה-API שולח תגובה לפוסט לנושא המקורי בקטגוריית restricted-users-admin.
זהו תחום של מקרי קצה עבורנו - זהו סוג של “מוצא אחרון” הדבר, לאחר הרבה תקשורת ומודרטורים שעובדים עם המשתמש. אני לא מצפה שיהיה לנו עומס תנועה כזה שזה הופך למכביד, זה מספר זעיר ביותר של משתמשים. אנחנו ארגון חברות והפורום שלנו ב-Discourse משמש כמאגר לכל מיני משאבים, כך שחברים אמורים להיות מסוגלים לגשת אליו. לפיכך, עלינו למצוא פתרונות שונים במקום השעיה.