fixator10 / Fixator10-Cogs

Cogs for Red-DiscordBot. Including port of Stevy's V2 leveler.
MIT License
68 stars 53 forks source link

[Captcha] Two major suggestions (ratelimit issues) #169

Open EternalllZM opened 2 years ago

EternalllZM commented 2 years ago

Is your feature request related to a problem? Please describe. I have used this cog in the past at a large-ish scale. If you are unfortunate enough to get raided, this cog will be your first class ticket to bot quarantine. Discord does not remove that (still have a ticket open from December, I have moved on).

You cannot set the allowed retries to zero, say goodbye to your reaction limits. Furthermore, I have not touched the cog in a while, but I hope there is an option now to disable the DM it sends on failure. The thousands of bots will not be able to pass the captcha, they will get the error DM, therefore this cog will send thousands of DMs in a matter of minutes. Your one way ticket to quarantine.

Describe the solution you'd like Add a way to disable retrying the captcha (reaction death) and a way to disable the DM on failure (assuming it's not in there already).

Reference my issue that was not carried over here.

Describe alternatives you've considered I don't use this cog anymore. I want to help anyone who does still use it help themselves in not losing their bot to something they cannot control.

Additional context I do appreciate and thank you for taking over and continuing this cog, it's helpful when it doesn't turn against you due to Discord's crap userbot raid filtering.

madebylydia commented 2 years ago

Hi there, thank for filling an issue,

I sincerely apologize that I've never seen your issue before on the Kreusada's repository. To answer your old question, yes, the "Oh, you annoy me" message was because of a limitation I've added, I've never thought peoples would feel the need to remove the retry option. It is meant to be user-friendly, as such, removing the retry possibility sounded impossible to me. In your case, I guess I am wrong.

Also, may I ask a more in-depth explanation of why you'd like to remove the DM on failure option? For me, it's important that everyone knows why they're getting kicked. It can be worked on, for sure, but I'm just intrigued.

I'll be able to start working on this issue soon, I can do it even before Red 3.5 (So I can bump DisCapTy to 2.0), but I do not promise any immediate fix, it'll take it's time, this cog's quite a mess made of spaghetti code even I would probably have a bad time understanding it :)

EternalllZM commented 2 years ago

Hey there,

No shade on not seeing the issue. I'm not pressed or mad about anything. Everything in my issue request here can be summed up to the ability to preserve the API limits of the bot during raids. You are right that retries are user friendly. You are 110% correct that the DM on failure option is important for the user to view.

What is missing is when those users are userbots raiding the server. They do not care why they got kicked, they want to get their message spam DMed to as many people as possible before they are removed.

If you are not able to have the choice to disable the DM, your bot via captcha will send potentially thousands of DMs within a short time frame to the bots. Keep in mind, raids can go up to as many as 114K thousand users (via this Wick log).

I personally have never experienced that many, but I have seen as many as ~3K which brought our bot into quarantine when Captcha sent 3,000 captcha failure DMs within an hour. Discord, not surprisingly, does not like that.