EssentialsX Discord messages are very behind when chat is spammed
ayunami2000 opened this issue ยท 7 comments
Type of bug
Exploit, Other unexpected behaviour
/ess dump all
output
Creating server dump... Error while creating dump <html> <head><title>413 Request Entity Too Large</title></head> <body> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>nginx</center> </body> </html>
Error log (if applicable)
No response
Bug description
When someone spams chat (like REALLY spams chat), EssentialsXDiscord lags behind a TON. Like, maybe 5-15 minutes or so behind I'd say. It just slooooowly sends every single spammed chat message until it has gotten through them all. I'd like there to be at least some sort of queue size limit where it doesn't send some messages.
Steps to reproduce
- Spam messages, e.g. 10-200 per second or something like that, idk.
- Check discord.
Expected behaviour
Discord chat should return to normal immediately upon spam ending.
Actual behaviour
Discord chat proceeds to send each and every single message, no matter how many there are, until it gets through them ALL. And it does this SLOWLY, so that a backlog of messages is formed.
also there is no text box below for the "in the text box below, you can attach any relevant screenshots..."
Also I'm running the latest stable EssentialsX build. Let me know if this behavior has changed on the dev builds!
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I'd suggest bundling multiple chat messages together in one message from the bot
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I'd suggest bundling multiple chat messages together in one message from the bot
This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big
Oh you're talking about chat messages. In that case, messages should probably be batched here too.
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I'd suggest bundling multiple chat messages together in one message from the bot
This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big
I've not seen a single message get bundled with another on my server.
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I'd suggest bundling multiple chat messages together in one message from the bot
This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big
I've not seen a single message get bundled with another on my server.
Then you're not sending messages fast enough
I am pretty sure this is because of ratelimiting on Discord's side. Essentials cannot really do anything about that besides maybe filtering out Spammed Messages.
I'd suggest bundling multiple chat messages together in one message from the bot
This is why they're behind, the bundler waits for a delay or if it reached the maximum message length before sending them out. We'd probably need to start skipping messages if the queue gets too big
I've not seen a single message get bundled with another on my server.
Then you're not sending messages fast enough
No I mean, I think something's wrong with the code to check when it's too fast and to bundle them in bulk:
These were all sent insanely fast (all in this screenshot in less than a second) in-game, but only showed up in the Discord mirror super slowly.