aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | | | | | | | | Escape asterisks in extensions docstringsGravatar MarkKoz2019-10-07-7/+7
| | | | | | | | | | | |
| | * | | | | | | | | | Support wildcards and multiple extensions for load and unload commandsGravatar MarkKoz2019-10-07-36/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename batch_reload() to batch_manage() and make it accept an action as a parameter so that it can be a generic function. * Switch parameter order for manage() to make it consistent with batch_manage(). * Always call batch_manage() and make it defer to manage() when only 1 extension is given. * Make batch_manage() a regular method instead of a coroutine.
| | * | | | | | | | | | Use quotes instead of back ticks around asterisk in docstringsGravatar MarkKoz2019-10-07-4/+4
| | | | | | | | | | | |
| | * | | | | | | | | | Refactor the extensions list commandGravatar MarkKoz2019-10-03-23/+8
| | | | | | | | | | | |
| | * | | | | | | | | | Invoke the help command when reload is called without argsGravatar MarkKoz2019-10-03-0/+4
| | | | | | | | | | | |
| | * | | | | | | | | | Fix extensions aliasGravatar MarkKoz2019-10-03-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename accordingly from cogs to extensions * Use the Extension converter * Make the argument variable instead of keyword-only
| | * | | | | | | | | | Use reload_extension() instead of calling unload and reloadGravatar MarkKoz2019-10-03-67/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Simplify output format of batch reload with only 1 list of failures * Show success/failure emoji for batch reloads * Simplify logic in the manage() function * Clean up some imports
| | * | | | | | | | | | Support giving multiple extensions to reloadGravatar MarkKoz2019-10-03-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename reload_all to batch_reload
| | * | | | | | | | | | Fix concatenation of error messages for extension reloadsGravatar MarkKoz2019-10-03-2/+2
| | | | | | | | | | | |
| | * | | | | | | | | | Show original exception, if available, when an extension fails to loadGravatar MarkKoz2019-10-03-0/+3
| | | | | | | | | | | |
| | * | | | | | | | | | Use manage method for extensions commandsGravatar MarkKoz2019-10-03-198/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rewrite docstrings for commands * Rename KEEP_LOADED to UNLOAD_BLACKLIST and make it a set * Change single quotes to double quotes * Add "cogs" as an alias to the extensions group
| | * | | | | | | | | | Fix the values in the extensions setGravatar MarkKoz2019-10-03-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Store just the names rather than entire ModuleInfo objects * Fix prefix argument
| | * | | | | | | | | | Add a custom converter for extensionsGravatar MarkKoz2019-10-03-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The converter fully qualifies the extension's name and ensures the extension exists. * Make the extensions set a module constant instead of an instant attribute and make it a frozenset. * Add a cog error handler to handle BadArgument locally and prevent the help command from showing for such errors.
| | * | | | | | | | | | Add a generic method to manage loading/unloading extensionsGravatar MarkKoz2019-10-03-0/+31
| | | | | | | | | | | |
| | * | | | | | | | | | Replace with_role decorator with a cog_checkGravatar MarkKoz2019-10-03-6/+6
| | | | | | | | | | | |
| | * | | | | | | | | | Simplify extension discovery using pkgutilGravatar MarkKoz2019-10-03-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cog now keeps a set of full qualified names of all extensions.
| | * | | | | | | | | | Add enum for extension actionsGravatar MarkKoz2019-10-03-0/+9
| | | | | | | | | | | |
| | * | | | | | | | | | Rename the "cogs" extension & cog to "extensions"Gravatar MarkKoz2019-10-03-14/+14
| | | | | | | | | | | |
| | | | * | | | | | | | Resolve #458: support exact timestamps as args for mod commandsGravatar MarkKoz2019-10-09-22/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename all parameters to "duration" for consistency * Add missing docs about duration parameter to the superstarify command
| | | | * | | | | | | | Resolve #357: show ban reason and bb watch status in unban mod logGravatar MarkKoz2019-10-09-1/+18
| | | | | | | | | | | |
| | | | * | | | | | | | Fix #346: display infraction count after giving an infractionGravatar MarkKoz2019-10-09-3/+10
| | |_|/ / / / / / / / | |/| | | | | | | | |
| * | | | | | | | | | Merge pull request #505 from python-discord/user-log-display-name-changesGravatar Mark2019-10-09-1/+6
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Ensure display name changes are logged to the user-log
| | * \ \ \ \ \ \ \ \ \ Merge branch 'master' into user-log-display-name-changesGravatar Mark2019-10-09-2/+8
| | |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / | |/| | | | | | | | | |
| | * | | | | | | | | | Ensure display name changes are loggedGravatar Sebastiaan Zeeff2019-10-08-1/+6
| | | |_|_|_|_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/489 Recently, we discovered that not all display name changes were logged to the #user-log channel. This problem was caused by the `old_value` or the `new_value` showing up as `None` when a user sets or removes a guild-specific nickname. Since we ignore changes where one of the two values is `None`, we did not log these `None->nick` or `nick->None` events. Since we are mainly interested in the display name of the user, and the display name is equal to the user's guild-specific nickname if they have set one and otherwise their username, I made the following changes: - Add logging of changes in the display names of members. - Ignore nick-specific changes completely, since these changes are already captured by the changes in the display name we now log. This closes #489
| | | | | * | | | | | Expand token detection regex character exclusionGravatar sco12019-10-08-5/+5
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps enable broader detection of tokens being used in contexts beyond simple assignment
| * | | | | | | | | Merge pull request #504 from python-discord/show-reason-bot-actor-infractionsGravatar Mark2019-10-08-2/+8
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | Show the reason in infraction confirmation message if the actor is the bot
| | * | | | | | | | Show infraction reason when the bot is the actorGravatar Sebastiaan Zeeff2019-10-08-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/476 We recently decided to hide the reason in the confirmation message the bot sends after applying an infraction. In most situations, this makes sense, since the message containing the invocation command already contains the reason. However, if the infraction was triggered by the bot itself (e.g., an antispam trigger), this means that we're missing information that provides context to the infraction. This commit adds the reason back to the confirmation message, but only if the actor of the infraction was the bot itself. Closes #476
| | * | | | | | | | Set bot as actor of antispam infractionsGravatar Sebastiaan Zeeff2019-10-08-1/+3
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As mentioned in #476, the bot currently sets the actor of infractions applied due to an antispam rule trigger to the offending member. The reason is that we get a `Context` object from the message that triggered the antispam rule, which was sent by the offender. I've changed it by patching both available author attributes, `Context.author` and `Context.message.author` with the bot user.
| * | | | | | | | Merge pull request #462 from python-discord/moderation-cleanupGravatar Sebastiaan Zeeff2019-10-08-1558/+1306
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Refactors the moderation utilities.
| | * \ \ \ \ \ \ \ Merge branch 'master' into moderation-cleanupGravatar Sebastiaan Zeeff2019-10-08-19/+286
| | |\ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge pull request #498 from fiskenslakt/feat/attachment-spam-thresholdGravatar S. Co12019-10-06-1/+1
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Feat/attachment spam threshold
| | * | | | | | | | | Update max threshold for attachmentsGravatar Derek2019-10-06-1/+1
| |/ / / / / / / / /
| * | | | | | | | | Merge pull request #492 from python-discord/doc-fixGravatar S. Co12019-10-06-0/+3
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix error when symbol_id cannot be found in doc HTML
| | * \ \ \ \ \ \ \ \ Merge branch 'master' into doc-fixGravatar Chris G2019-10-04-3/+258
| | |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | |
| | * | | | | | | | | Fix error when symbol_id cannot be found in doc HTMLGravatar MarkKoz2019-10-04-0/+3
| | | |/ / / / / / / | | |/| | | | | | |
| | | * | | | | | | Only allow members currently in the guild to be warnedGravatar MarkKoz2019-10-07-1/+1
| | | | | | | | | |
| | | * | | | | | | Update the nickname policy URLGravatar Mark2019-10-07-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Sebastiaan Zeeff <[email protected]>
| | | * | | | | | | Make categories class attributes and support descriptionsGravatar MarkKoz2019-10-04-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Document support for custom categories.
| | | * | | | | | | Wait until the bot is ready before reschedule infractionsGravatar MarkKoz2019-10-04-0/+2
| | | | | | | | | |
| | | * | | | | | | Fix rescheduling of infractions when cog is reloadedGravatar MarkKoz2019-10-03-3/+5
| | | | | | | | | |
| | | * | | | | | | Make warns, notes, and kicks always inactive Gravatar Mark2019-10-03-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make sense for these types of infractions to be "active". Co-Authored-By: Sebastiaan Zeeff <[email protected]>
| | | * | | | | | | Add note instead of failure to mod log during pardon when ban not foundGravatar MarkKoz2019-10-03-2/+7
| | | | | | | | | |
| | | * | | | | | | Merge remote-tracking branch 'origin/master' into moderation-cleanupGravatar MarkKoz2019-10-03-15/+94
| | | |\ \ \ \ \ \ \
| | | * | | | | | | | Mention moderators in the mod log when an infraction fails to expireGravatar MarkKoz2019-10-02-1/+7
| | | | | | | | | | |
| | | * | | | | | | | Swap arguments for post_infraction callsGravatar Mark2019-10-02-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Sebastiaan Zeeff <[email protected]>
| | | * | | | | | | | Remove __all__ definition from moderation subpackageGravatar MarkKoz2019-10-02-3/+0
| | | | | | | | | | |
| | | * | | | | | | | Rename parameters to stop shadowing type built-inGravatar MarkKoz2019-10-02-15/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: scragly <[email protected]>
| | | * | | | | | | | Format duration units as a list in management doctsringsGravatar Mark2019-10-02-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: scragly <[email protected]>
| | | * | | | | | | | Format duration units as a list in infractions doctsringsGravatar Mark2019-10-02-9/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: scragly <[email protected]>
| | | * | | | | | | | Add help category for Infractions and ModManagement cogsGravatar MarkKoz2019-10-01-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two cogs will be listed under the same category in the help output.