Discord webhook limits?

I wrote in the post 50 requests per second

50 requests per second? That sounds weird due to the amount of requests.
How can you be so sure about this?

From the official discord documentation:

It says bots but webhooks are a type of bots

Hmm, I assume that is right. The webhook does have a BOT tag so that’s interesting.
What’s more interesting is the amount of requests you can actually send in a minute, which would be 3,000 :thinking:

Actually they are 500 because sending requests to discord webhooks requires the use of the roblox HTTPService which allows only 500 requests per minute

1 Like

Yes, in terms of the roblox limit it would be 500.
In my usage, hitting 500 requests per minute is basically impososible so that’s good to know!

Just a simple ban & unban logger if you wonder.

I’m not, just wanna make sure I don’t hit the limit at all times.

In that case you won’t reach that amount of requests unless you ban all the players from the game, also making a big amount of requests impacts on the game in terms of performances (lag)

1 Like

I have already implemented cooldowns so that can’t happen.
The term you are looking for is probably delay, if you are sending too many requests.

1 Like

No. You really should not use Discord as a ban logger. Discord and webhooks are not made for storing data and it’s against their ToS to use their service like that. There are other alternatives you should be looking for.

Check this post out. It explains everything in details and mentions that:

They have the right to reject your game’s servers from using webhooks if they see you are misusing it, which is what happened for Roblox as a whole because of gross misuse of webhooks.

The webhook has rate-limitations of 30 messages/minute, and when the requests are rapidly sent in a short amount of time (about 10 in a few seconds or something). When you exceed the rate limitations, the response will return a status code 429 with a JSON body. See their documentation - it talks about the bot’s restrictions, therefore it’s not mentioned there, but everything else mentioned can be found in the HTTP response.

1 Like

I am not storing data, I just want my logs in the Discord server, I also have logs in my datastore so Discord is not needed, yet something extra that could be useful.

That’s what I thought, and was what I found out as well.
That’s just too low for my usage.

That does not matter. It should not be used as a logging service either. Did you even read the post that i linked to you?

That’s interesting and sad, I have friends that’s been using log services for years, yet nothing has happened to them.

I believe the rules has changed as no moderative actions has been made agaisnt them what so ever.

I’ll believe you if you actually send a link that Discord is saying it’s against their ToS to log stuff.

It’s indeed true that if you’re having logs in discord you will face consequences.

1 Like

Special pleading fallacy. Your friends misusing Discord’s API has nothing to do with Discord frowning on using webhooks for logging/analytics. There are dedicated services out there that you can and should be using. More specifically you should be looking at databases if what you want is to store and comb a list of users banned from your experience as well as the ban details.

Roblox developers attempting to make logging services was a major contribution to Discord blocking the Roblox UserAgent entirely from sending requests for a while 3 years ago, especially because a lot of those webhook models were poorly made and sent invalid requests en masse. They are more lenient now however your specific webhook may be deleted if it is found in violation of Discord’s policies.

We’re not staff of either platform so we can’t authoritatively interpret any details within their policies or the like. You are welcome to contact Discord Support for an answer here, wrt “send me a link to Discord’s ToS saying you can’t log, then I won’t”.

1 Like

Your suggestion would be a database? Can’t see myself paying for a big database just for that, perhaps Trello can be used as a logging service.

Trello’s intent is only for basic kanbanning and personal planning. Trello would be an even worse option for logging and databases because it’s not designed to support those use cases in any sense of the words and it does not scale like a database does, be it speed or anything else.

Trello has a help article on troubleshooting slow boards which advises having fewer than 1000 cards assuming you’re only using the bare minimum features of a card. If you’re planning to work on an experience at scale supporting moderation features like this, you do not want to deal with how slow Trello can get, let alone the lack of features it has to support database use cases.

Additionally, from what I last recall, Trello silently implemented a special rate limit against the Roblox UserAgent which imposes a 90% lower allowed calling limit per interval. This information I know to be to date as of December 2020 when I was working as the lead developer for a 250K+ member group which abused Trello for a lot of its web features (applications, user-written library, special ranks, etc).

Like I said in my post, my suggestion would be to search for proper services to serve your use cases and see if the free plans suit your needs or if you can build and host your own database. There are a lot of services with free plans that you can fit into, or if you need storage then it’s fairly cheap. For example, see Cloud Firestore pricing and look at the free quota as well. It could be possible not to exhaust the quota for a small experience provided your Lua-side does some heavy lifting so as not to query frequently and you’ll probably be netting enough to pay for additional uses for a large experience with major traffic and revenue flow.

4 Likes

Then my best bet would not to have logs outside of the game.