Fehler: Maximale Themen am ersten Tag, 4 Tage nach dem ersten Thema

Die Fehlermeldung lautete:

Sie haben die maximale Anzahl von Themen erreicht, die ein neuer Benutzer an seinem ersten Tag erstellen kann. Bitte warten Sie 2 Stunden, bevor Sie erneut schreiben.

Dies scheint gesteuert zu werden durch: „max topics in first day“ – eine Anpassung davon hat den Fehler behoben.

Das Problem ist, dass der Benutzer 8 frühere Themen hat, wobei das erste vor 4 Tagen erstellt wurde. Ich glaube daher nicht, dass er von dieser Einstellung betroffen sein sollte, da sie nur den Zeitraum von 24 Stunden nach dem ersten Beitrag des Benutzers betreffen soll. Das Posting-Konto ist ein TL0-Benutzer.

Die Optionsbeschreibung lautet:

Die maximale Anzahl von Themen, die ein Benutzer im 24-Stunden-Zeitraum nach Erstellung seines ersten Beitrags erstellen darf

Ich würde spekulativ vermuten, dass die Einstellung tatsächlich „maximum posts per day for TL0 users“ lautet.

Es könnte sich lohnen zu prüfen, ob dies auch für die Einstellung „max replies in first day“ gilt.

Yes, the code seems to be checking to see if a user is TL0 - not checking that it’s the user’s first 24 hours on the site. If that’s the case, possibly the message that is displayed to the user should be changed. The default requirements for achieving TL1 are fairly low though. I’d expect that considering TL0 users to be new users is correct for most cases.

1 „Gefällt mir“

@simon Yeah, I’m experimenting with adjusting the difficulty for users to achieve TL1+.

If the functionality of these settings are kept the same (and assuming it is the same case for max replies in first day), I think it could be good to rename them to be consistent with the other ‘newuser’ settings. As well as update the message to users as you mentioned and the setting descriptions.

E.g.
max topics in first day -> newuser max topics per day
max replies in first day -> newuser max replies per day

Ist das immer noch nicht so, wie es sein sollte? Dieser Code sieht für mich falsch aus, prüft, ob der erste Beitrag des Benutzers älter als ein Tag ist?

 def new_user_posting_on_first_day?
    !staff? && trust_level < TrustLevel[2] &&
      (
        trust_level == TrustLevel[0] || self.first_post_created_at.nil? ||
          self.first_post_created_at >= 24.hours.ago
      )
  end

Okay, es war ein wenig knifflig, das zu entwirren, aber ich denke, das wird das Problem beheben:

Grundsätzlich haben wir die Absicht von new_user_posting_on_first_day? vor Jahren geändert, sodass sie nicht mehr mit der Beschreibung und den Fehlern übereinstimmte. Dies stellt das alte Verhalten wieder her und behandelt TL0-Benutzer für die Zwecke dieser Prüfung nicht mehr jederzeit als neue Benutzer.

3 „Gefällt mir“