基于此处的描述 (Understanding Discourse Trust Levels),引用:
信任等级为 1 的用户可以……
使用所有核心 Discourse 功能;所有新用户限制均已移除
其中一个用户限制是(也引用):
信任等级为 0 的用户不能……
发布超过 3 个主题
我认为这指的是 max_topics_in_first_day 设置,该设置在此函数 (github 链接) 中使用:
# Additional rate limits on topics: per day and private messages per day
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
看起来 new_user_posting_on_first_day 并不完全符合上面博客页面的描述。它的实现是:
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
**根据代码:**如果用户是 TL1,并且他们在第一天创建了第一个帖子,那么此函数返回 true,并且 max_topics_in_first_day 限制适用。
**根据博客:**如果用户是 TL1,所有新用户限制都已移除。所以我认为“max_topics_in_first_day”不应适用。
我的问题:
- 这是代码中的错误吗?
- 如果是故意的,那么是否有专门的设置来控制 TL1 用户在第一天可以创建的主题数量?我希望它比 TL0 的数量更高。