Le nombre maximum de sujets le premier jour pour les utilisateurs TL1 semble ne pas correspondre au blog

Basé sur la description ici (Understanding Discourse Trust Levels), cite :

Les utilisateurs de niveau de confiance 1 peuvent…
Utiliser toutes les fonctions de base de Discourse ; toutes les restrictions pour les nouveaux utilisateurs sont supprimées

L’une des restrictions pour les utilisateurs est (cite également) :

Les utilisateurs de niveau de confiance 0 ne peuvent pas
Poster plus de 3 sujets

Je pense que cela fait référence au paramètre max_topics_in_first_day qui est utilisé dans cette fonction (lien github) :

  # Limites supplémentaires sur les sujets : par jour et messages privés par jour
  def limit_topics_per_day
    return unless regular?
    if user && user.new_user_posting_on_first_day?
      limit_first_day_topics_per_day
    else
      apply_per_day_rate_limit_for("topics", :max_topics_per_day)
    end
  end

Il semble que new_user_posting_on_first_day ne corresponde pas exactement à la description de la page du blog ci-dessus. Son implémentation est :

  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

Selon le code : si un utilisateur est TL1 et qu’il a créé son premier message dans la même journée, alors cette fonction renvoie vrai et la limite max_topics_in_first_day s’applique.

Selon le blog : si un utilisateur est TL1, toutes les restrictions pour les nouveaux utilisateurs sont supprimées. Je suppose donc que max_topics_in_first_day ne devrait pas s’appliquer.


Mes questions :

  1. Est-ce un bug dans le code ?
  2. Si c’est intentionnel, existe-t-il un paramètre dédié pour contrôler le nombre de sujets qu’un utilisateur TL1 peut créer le premier jour ? Je voudrais qu’il soit plus élevé que pour TL0.

Désolé de déranger - mais nous essayons de lutter contre une attaque de spam en cours sur le forum de discussion de notre produit :cry:

L’une des solutions que nous envisageons est de passer automatiquement les nouveaux inscrits à TL1 s’ils se sont déjà inscrits à notre produit (sur un site externe), puis de restreindre sévèrement tous les utilisateurs TL0.

Sur la base du schéma d’utilisation actuel, nos utilisateurs légitimes commenceraient toujours à TL1 tandis que les spammeurs commenceraient à TL0. Par conséquent, pouvoir limiter le taux de sujets pour les utilisateurs TL0 spécifiquement serait utile.

Il semble qu’un tel paramètre n’existe pas. Le blog suggère qu’il devrait exister. Par conséquent, je me demande s’il s’agit d’un bug. Si c’est intentionnel, veuillez considérer mon message comme une demande de fonctionnalité :slightly_smiling_face: