Rate limiting conversations for new users

Continuing the discussion from Can Discourse ship frequent Docker images that do not need to be bootstrapped?:

Yeah I am aware of the rate limiting and it’s one of the reasons I chose Discourse. However it broke the flow of this coversation with its pretty hefty 24h “ban”. I need to think about my limits … and whether the rate limiting can be smarter (e.g. allow a higher number of replys in a conversation when you are not answering yourself). It’s a bit confusing that I could create new topics but could not answer to someone else. Also, the error message was very non-decriptive and confusing for the “average Joe” (I knew what was happening, but the folks in my install would not).

Any idea how this could be improved?

1 Like

The purpose of Rate Limits is to help reduce the amount TL0 Flood SPAM

It may be that with Akismet rate limiting is now not as crucial as it was previously

And I guess a lot depends on how well a forum is covered by Moderators

Currently all the Rate Limit settings are “per day”, I think it would be ideal to have a “time period” setting so that the default 24 hours could be tweaked, but imagine that would require a lot of changes in the Core code if it’s even possible.

I believe the following (with the default values in brackets) are the ones you are referring to

max topics in first day [3]
The maximum number of topics a user is allowed to create in their first day on the site

max replies in first day [10]
The maximum number of replies a user is allowed to create in their first day on the site

Do you mean this one?

“We have a daily limit on how many times that action can be taken. Please wait %{time_left} before trying again.”

I do agree that it would be better if replies in your own topic to those helping were exempt from the max replies limit.

A bit edge case perhaps as it’s only in effect for the first day.
On the other hand, not the best thing to happen to a legit new member.

2 Likes

We should definitely improve the messaging here @eviltrout.

We can now customize the messages for rate limits so that they don’t all say “You’ve done that action too many times.”

https://github.com/discourse/discourse/commit/0b4cb5cf0d5f2304a8918384735f93aeca493bbe

If a custom message for a rate limit is not found it just uses the generic one. I’ve populated all the big ones I found though.

9 Likes

OK in testing this on try.discourse.org, I get

You’re posting topics too quickly. Please wait 1 minute before trying again.

and

You’ve reached the maximum number of topics a new user can post on their first day. Please wait 23 hours before trying again.

and

You’re replying too quickly. Please wait 22 seconds before trying again.

and

You’ve reached the maximum number of posts a new user can post on their first day. Please wait 23 hours before trying again.

Seems quite a bit clearer. :+1:

5 Likes

Awesome, thanks for the quick action! Will this be in v1.5 or already a v1.4 bugfix?

One further idea: Have the ability to link to an article where the general concept is explained further (e.g. the “welcome” post, “self-moderation” section).

Yeah, that’s what I thought. With the new messaging, this is much better now.

I like this idea, too. @eviltrout, any idea how complex that would be?

So how do I change this limit?

Admin, Site Settings.

Thanks! Problem solved

I am posting as a user using master api key. Am getting this error message

{“errors”:[“You’re creating topics too quickly. Please wait 1 minute before trying again.”],“error_type”:“rate_limit”}

In an attempt to get rid of this error I have set these site settings like so:
rate_limit_create_topic = 0
rate_limit_create_post = 0
rate_limit_new_user_create_topic = 0
rate_limit_new_user_create_post = 0

Am still running into this error, even though rate limits are 0 seconds. Any ideas why?