[APPROVED] Predeactor Cogs

Discord Name: Capitaine Predeactor#0495

GitHub Repository (Must be V3): https://github.com/Predeactor/Predeactor-Cogs

Description: Repo with mostly utility cogs.

For reviewers:
I’m kindly asking you to use the Repository Initial Launch for reviewing or from this point (More stuff after release).
I actually added a new cog in Alpha that I don’t want reviewed, since it’s being worked on and not made for users.

Hi Predeactor, thank you for your patience while I review your repo.

Commit hash at time of review - 6990556e3d58bce9f6616a0007169d1fbad075fe

All cogs

  • Missing red_delete_data_for_user function which is required for users to know their data has been deleted in the cog from the [p]mydata commands. As it is right now without it the bot will state that your cogs did not handle the data deletion request. It is required even if it does nothing to know that the cogs have actually handled it in some way, however this is optional although highly recommended for end users to know for sure the data has been looked at.

captcher

captcher.py

  • [p]config giverole and [p]temprole should have checks on it such that the user cannot assign roles higher than their own. This is currently open to the potential of anyone with manage roles permission setting things up, leaving the server, rejoining and gaining a role higher than their own but lower than the bots role potentially being able to do things they shouldn’t.

info.json

authors is not a valid key for info.json

cleverbot

cleverbot.py

core.py

  • Line 90: the cog level attribute conversations is automatically zeroed on cog unload and this isn’t required. (Optional)

info.json

init.py

customcooldown

customcooldown.py

  • Line 45: You can exit this command early if the requester is “user” and avoid iterating through all guilds here to help larger bots in some situations.(Optional)
  • Lines 85, 94, 124, 142, 151, 179: You constantly switch between human-readable datetime formats and seconds, you could just store the seconds as a datetime.timestamp() integer instead and datetime.fromtimestamp(). (Optional)

learning

learning.py

  • Lines 8, 47, 63, 83, 107, 128: You should not use star imports.
  • There’s no checks if the bot has embed links permission so these commands may all fail for users who choose not to allow embeds.

Hello TrustyJAID, thank for reviewing my repository and waiting for my changes.

Some changes has been addressed today and are available through the final commit.
Some optional changes hasn’t been addressed though, but will be addressed on a later day.

Thank you for making those changes. Marking this as approved.