Trust Level Issues, tl1 not overriding tl0

Basically, I am experimenting with trust levels. With trust level 0, I set it up so that you can only make one post every 24 hours. I set up Patreon so that if you become a patron you automatically get trust level 1, which means there are no restrictions on posting. So I experimented with this, and made a new user that subscribed to Patreon, and successfully they were put in the Patron group which gives trust level 1. However, when I try to make this user post now, it still only allows me to post every 24 hours. Why is this happening? Why isn’t trust_level_1 overriding the restrictions of trust_level_0 for this user?

I don’t think that you can have Patreon assign them to trust level 1, as it’s a special group that’s handled by Discourse. You should create a group for Patreon and have that group assign them to TL1. It’s in the membership tab of the group page:

image

2 Likes

I just tried that and it still doesn’t work.

Let me go back a bit. It seems that Patreon did assign this user to a trust level 1. In the image I posted, it shows that the user’s trust level is “1 - basic user”, and this changed from “0 - new user” just from signing up from Patreon.

But regardless of what Patreon did or did not do, it seems even if I manually put a user in the tf1 category, they’re still restricted in posting every 24 hours, instead of having that restriction lifted.

Also, note that I set rate limit new user create topic to 86400 so that users with tl0 can only post every 24 hours. Is this where I’m going wrong? Is perhaps this also applying to tl1 users?

This will be the cause of the problem. The rate limit that is applied from that setting is applied to trust level 0 users and to trust level 1 users who have existed on the site for less than 24 hours.

3 Likes

So are you saying that this is a 24-hour time issue across all trust levels?

For example, what if I made the Patreon group be promoted to trust level 2, or 3, or even 4. Would this get around the rate limit?

No, the limit is applied to trust level 0 users for as long as they are at trust level 0. The limit is applied to trust level 1 users for their first 24 hours on the site. The limit is not applied to trust level 2 users. If you granted trust level 2 to your Patrons group members, they would bypass the limit.

Mostly for my own reference, the logic that is used for this is:

def new_user?
  (created_at >= 24.hours.ago || trust_level == TrustLevel[0]) &&
    trust_level < TrustLevel[2] &&
    !staff?
end
3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.