|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | The two cogs will be listed under the same category in the help output. | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename already_has_active_infraction to has_active_infraction
* Fit some lines in utils to 100 columns | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Remove redundant discord.Colour() usage
* Fix type annotation of colour parameter for modlog.send_log_message()
* Use a cog check in superstarify to require moderation roles | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Cancel the task inside deactivate_infraction | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Shorten the mod log footer for pardons | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Use dateutil to parse expiration timestamp | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Display error in the confirmation message when the pardon fails
* Only attempt to remove the infraction from Discord once | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename to deactivate_infraction
* Send DM for unmute
* Log errors with logging module and to the mod log embed
* Return a dictionary representation of the mod log text
* Raise a ValueError for unsupported infraction types | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | The sub-package is now the extension instead of each module being a
separate extension. Thus, the setup methods are now useless. | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Read names from JSON instead of a module
* Move get_nick function inside the Superstarify cog
* Load Superstarify cog through the moderation extension
* Define __all__ for moderation module | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename Infractions cog to ModManagement
* Rename Moderation cog to Infractions
* Rename infractions.py to management.py
* Rename moderation.py to infractions.py
* Move moderation utils to sub-package and rename to utils.py
* Move Modlog, Infractions, and ModManagement to sub-package
* Use sub-package as an extension that loads aforementioned cogs | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Commands defer to these functions, configuring them to be temporary
and/or shadow infractions by passing some kwargs. This reduces code
redundancy. | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename UserConverter to MemberConverter
* Rename UserObject to MemberObject
* Move MemberObject to moderation utils module
* Move proxy_user to moderation utils module | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename to apply_infraction
* Make messages more generic to simplify implementation
* Send the confirmation message inside the function; return nothing | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Add warning & note icons to the infraction icons dictionary | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Rename the UserTypes alias to UserConverter
* Create a new non-converter alias similar to UserConverter which has
  Object instead of the proxy_user converter in the Union.
* Use the new alias in the utility functions instead of just a Union of
  a Member and User. | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | These adjustments make it easier to call the function using values
directly from the infraction object as arguments.
* Set actual default values inside the function if values are None
* Accept only a string for expires_at | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | It may also be an Asset because when converted to a string the URL is
returned. | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Always return None from inner function
* Change annotation of self parameter to Cog | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Add some logging | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | * Move respect_role_hierarchy to the decorators modules
* Get the command name from the context instead of an argument | 
| | | | |/ / / / / / |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Use a coroutine instead of a list. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Changed `PERIODIC_PING` from 2 f-string to one normal and one f-string.
The bot now checks in the lasts 5 messages (why 5? Admins/mods could have add some notes, and/or users could have wrong taped the command, which lead the bot to send a message) the time of his last ping. If there is not historic ping, will send one (initialization and make the command more robust). If there is one previous `PERIODIC_PING` message, checks if it older than one week.
I also set the countdown from 1 to 12 hours. Why not more? Because each time the bot is restarted the countdown is reset to 0, and I don't know how often it is restarted. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Created a new function named `periodic_ping` in `verification.py`, using `discord.ext.tasks` and `datetime` module. Every hour the function checks if the last message in the channel (ie last message of the bot) is older than a week. If so, it deletes this message and post a new one. |