aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | | | * | | | | Fix circular importsGravatar MarkKoz2019-10-01-8/+10
| | | | | | | | |
| | | | * | | | | Move Superstarify to moderation sub-packageGravatar MarkKoz2019-10-01-175/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | | | * | | | | Create a moderation sub-package for moderation-related cogsGravatar MarkKoz2019-10-01-34/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | | | * | | | | Revise moderation and infraction docstringsGravatar MarkKoz2019-10-01-31/+21
| | | | | | | | |
| | | | * | | | | Create more generic functions for mute, kick, and banGravatar MarkKoz2019-10-01-94/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commands defer to these functions, configuring them to be temporary and/or shadow infractions by passing some kwargs. This reduces code redundancy.
| | | | * | | | | Replace with_role decorator with a cog check in the moderation cogGravatar MarkKoz2019-10-01-14/+8
| | | | | | | | |
| | | | * | | | | Move infraction search and edit commands to a new cogGravatar MarkKoz2019-10-01-251/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename UserConverter to MemberConverter * Rename UserObject to MemberObject * Move MemberObject to moderation utils module * Move proxy_user to moderation utils module
| | | | * | | | | Rework send_messages to actually apply the infractionsGravatar MarkKoz2019-10-01-88/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename to apply_infraction * Make messages more generic to simplify implementation * Send the confirmation message inside the function; return nothing
| | | | * | | | | Format infraction timestamp inside send_messagesGravatar MarkKoz2019-10-01-3/+4
| | | | | | | | |
| | | | * | | | | Use lowercase infraction typesGravatar MarkKoz2019-10-01-8/+8
| | | | | | | | |
| | | | * | | | | Use send_messages function in infraction commandsGravatar MarkKoz2019-10-01-257/+26
| | | | | | | | |
| | | | * | | | | Add general function for sending infraction messagesGravatar MarkKoz2019-10-01-1/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add warning & note icons to the infraction icons dictionary
| | | | * | | | | Catch errors of fetch_user when calling in send_private_embedGravatar MarkKoz2019-10-01-5/+5
| | | | | | | | |
| | | | * | | | | Refactor user type annotations in moderation cogGravatar MarkKoz2019-10-01-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| | | | * | | | | Use None for default values for notify_infraction's parametersGravatar MarkKoz2019-10-01-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | * | | | | Add type alias for infraction objectsGravatar MarkKoz2019-10-01-5/+11
| | | | | | | | |
| | | | * | | | | Fix thumbnail's type annotation for ModLog.send_log_messageGravatar MarkKoz2019-10-01-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It may also be an Asset because when converted to a string the URL is returned.
| | | | * | | | | Adjust type annotations of decoratorsGravatar MarkKoz2019-10-01-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Always return None from inner function * Change annotation of self parameter to Cog
| | | | * | | | | Raise ValueError in respect_role_hierarchy instead of logging errorsGravatar MarkKoz2019-10-01-2/+2
| | | | | | | | |
| | | | * | | | | Support positional target arg for respect_role_hierarchyGravatar MarkKoz2019-10-01-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add some logging
| | | | * | | | | Make respect_role_hierarchy a decoratorGravatar MarkKoz2019-10-01-59/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move respect_role_hierarchy to the decorators modules * Get the command name from the context instead of an argument
| | | | * | | | | Remove unused moderation utility functionsGravatar MarkKoz2019-10-01-29/+1
| | | |/ / / / /
| | | | | * | | Get the prefix from the config for the periodic ping messageGravatar MarkKoz2019-10-11-2/+2
| | | | | | | |
| | | | | * | | Check that the periodic ping author is the botGravatar MarkKoz2019-10-11-1/+1
| | | | | | | |
| | | | | * | | Revise comments and the doctsring for the periodic ping functionGravatar MarkKoz2019-10-11-7/+10
| | | | | | | |
| | | | | * | | Cancel the periodic ping task when the verification cog is unloadedGravatar MarkKoz2019-10-11-0/+4
| | | | | | | |
| | | | | * | | Better check way of checking timelapsGravatar kraktus2019-10-11-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a coroutine instead of a list.
| | | | | * | | Requested changesGravatar kraktus2019-10-05-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | | | * | | Added a new `periodic_ping` to fix #320Gravatar kraktus2019-10-05-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | | | * | | Added to the .gitignore file a new file to be ignored, .DS_Store (only on ↵Gravatar kraktus2019-10-05-0/+3
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | Mac OS), that stores custom attributes of its containing folder. New contributors on Mac OS won't have to bother anymore about this mysterious file that create when you fork the project.
* | | | | | | Merge pull request #481 from bendiller/fetch_posts_retriesGravatar S. Co12019-10-03-15/+24
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | Add checks for valid response and retries to fetch_posts()
| * | | | | | Merge branch 'master' into fetch_posts_retriesGravatar Mark2019-10-03-23/+106
| |\ \ \ \ \ \ | |/ / / / / / |/| | | | | |
* | | | | | | Merge pull request #486 from python-discord/mute-fixGravatar Joseph2019-10-03-5/+42
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix mutes not being re-applied on rejoins.
| * \ \ \ \ \ \ Merge branch 'master' into mute-fixGravatar Joseph2019-10-03-1/+1
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
* | | | | | | | Merge pull request #483 from python-discord/fix-watchchannels-unload-cog-bugGravatar S. Co12019-10-02-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | Fix `cog_unload` bug in WatchChannel ABC
| * | | | | | | Merge branch 'master' into fix-watchchannels-unload-cog-bugGravatar S. Co12019-10-02-7/+36
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Fix `cog_unload` bug in WatchChannel ABCGravatar Sebastiaan Zeeff2019-10-02-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/482 There was small bug in the `cog_unload` method of the WatchChannel ABC in `bot.cogs.watchchannels.watchchannel`. The problem was that it tries to check if the Task assigned to `self._consume_task` is done by accessing its `done` method. However, if a watch channel has not yet relayed messages after the bot has started, it will not have a consumption task yet, meaning this `_consume_task` attribute will be assigned to `None`. The solution is to change the `if` condition to: `if self._consume_task and not self._consume_task.done():` This commit closes #482
| | * | | | | | Fix mutes not being re-applied on rejoins.Gravatar scragly2019-10-03-5/+42
| |/ / / / / / |/| | | | | |
* | | | | | | Merge pull request #467 from Ayplow/short-docsGravatar Mark2019-10-01-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Forward arguments to !docs get
| * \ \ \ \ \ \ Merge branch 'master' into short-docsGravatar Mark2019-10-01-12/+58
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
* | | | | | | | Merge pull request #475 from python-discord/fix-tags-edit-commandGravatar Mark2019-10-01-2/+31
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Make `!tags edit` use PATCH to update tags
| * | | | | | | Merge branch 'master' into fix-tags-edit-commandGravatar Mark2019-10-01-10/+27
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
* | | | | | | | Merge pull request #480 from python-discord/separate_tools_and_resourcesGravatar Mark2019-10-01-7/+24
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | Split !resources into !tools and !resources.
| * | | | | | | Fix missing type annotations and docstring errors.Gravatar Leon Sandøy2019-10-01-7/+3
| | | | | | | |
| * | | | | | | Create !tools alias and split !site resources.Gravatar Leon Sandøy2019-10-01-7/+28
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the former !site resources into two separate commands, one for !site resources and one for !site tools. This makes sense now that we've split up the lists into two pages. It also adds a new alias, !tools, to call this command. This addresses #478. https://github.com/python-discord/bot/issues/478
* | | | | | | Update contrib doc for new wiki links (#470)Gravatar scragly2019-10-02-3/+3
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | Update contrib doc for new wiki links
| * | | | | | Remove single-item listGravatar S. Co12019-10-01-2/+1
| | | | | | | | | | | | | | | | | | | | | It looks silly
| * | | | | | Update contrib doc for new wiki linksGravatar sco12019-09-30-3/+4
|/ / / / / /
| * / / / / Make `!tags edit` use PATCH to update tagsGravatar Sebastiaan Zeeff2019-10-01-2/+31
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/474 This commit makes sure we're using the PATCH method to update tags, instead of the POST method. The problem was that the `!tags edit` command was an alias of `!tags set`, which uses the POST method to post new tags to the API. However, when a tag with a given name already exists, the API will refuse a POST request in an attempt to update it; we need to use the PATCH method to the `bot/tags/{tag_name}` endpoint instead. I fixed this by creating a separate subcommand, `!tags edit`, that uses the correct PATCH method to update an existing tag. This commit closes #474
| * | | | Update docs cog docstring & fix URL converter attribute errorGravatar S. Co12019-10-01-4/+4
| | | | |