Error de máximo de temas en el primer día, 4 días después del primer tema

El mensaje de error fue:

Has alcanzado el número máximo de temas que un nuevo usuario puede crear en su primer día. Por favor, espera 2 horas antes de volver a escribir.

Esto parece estar controlado por: ‘max topics in first day’ - ajustando esto se eliminó el error.

El problema es que el usuario tiene 8 Temas anteriores, siendo el primero hace 4 días. Así que creo que no deberían verse afectados por esta configuración, ya que está pensada solo para afectar al período de 24 horas después de la primera publicación del usuario. La cuenta de publicación es un usuario TL0.

La descripción de la opción es:

El número máximo de temas que un usuario puede crear en el período de 24 horas después de crear su primera publicación.

Haría una suposición especulativa de que la configuración podría ser en realidad ‘máximo de publicaciones por día para usuarios TL0’.

Valdría la pena comprobar si este también es el caso para la configuración ‘max replies in first day’.

Sí, el código parece estar verificando si un usuario es TL0, no si son las primeras 24 horas del usuario en el sitio. Si ese es el caso, es posible que deba cambiarse el mensaje que se muestra al usuario. Sin embargo, los requisitos predeterminados para alcanzar TL1 son bastante bajos. Me esperaría que considerar a los usuarios TL0 como usuarios nuevos sea correcto en la mayoría de los casos.

1 me gusta

@simon Sí, estoy experimentando con ajustar la dificultad para que los usuarios alcancen TL1+.

Si la funcionalidad de estas configuraciones se mantiene igual (y asumiendo que es el mismo caso para las respuestas máximas en el primer día), creo que sería bueno renombrarlas para que sean consistentes con las otras configuraciones de ‘newuser’. También actualizar el mensaje para los usuarios, como mencionaste, y las descripciones de las configuraciones.

Ejemplo:
max topics in first day → newuser max topics per day
max replies in first day → newuser max replies per day

¿Esto todavía no está como debería? Este código
me parece incorrecto, ¿comprobando si la primera publicación del usuario tiene más de un día?

 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

Ok, fue un poco complicado de desenredar, pero creo que esto corregirá el problema:

Básicamente, cambiamos la intención de new_user_posting_on_first_day? hace años para que no coincidiera con la descripción y los errores. Esto restaura el comportamiento anterior y no trata a los usuarios TL0 como usuarios nuevos en todo momento a efectos de esta verificación.

3 Me gusta