PredaaA / predacogs

Cogs for Red Discordbot
MIT License
30 stars 25 forks source link

[NSFW] Checking loop #18

Closed Sinnoma closed 4 years ago

Sinnoma commented 4 years ago

I've noticed an error using await ctx.bot.send_help_for()

When we're using this method, and when we ask the help of Nsfw cog, there will be a loop saying : 🔒 You can't use this command in a non-NSFW channel !

To reproduce that error, create a cog that will use await ctx.bot.send_help_for(), like a custom help command, and use [p]yourCommand Nsfw

Sinnoma commented 4 years ago

If it can help you Unloading the cog that use help_for, spam will stop and return a correct help (Without NSFW commands)

Flame442 commented 4 years ago

This is happening because that message is sent as a part of the checks for the commands in that cog. bot.send_help_for runs these checks (in the given context) to determine if a command should be shown or not (does the user have perms, is the command enabled, etc). As a result, the failure message in the check is sent for every command (with that check), causing the spam you noticed.