aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | | | | | Merge branch 'master' into checkpoint-changesGravatar Mark2019-11-10-540/+677
| | |\ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #641 from kwzrd/unittest-linksGravatar Mark2019-11-08-0/+101
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add unit test for links antispam rule
| | * \ \ \ \ \ \ \ Merge branch 'master' into unittest-linksGravatar Mark2019-11-08-608/+1193
| | |\ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge pull request #653 from python-discord/talent-poolingGravatar Sebastiaan Zeeff2019-11-08-14/+13
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Allow helpers to nominate people
| | * | | | | | | | | Refactor bigbrother to use constantsGravatar kosayoda2019-11-08-5/+5
| | | | | | | | | | |
| | * | | | | | | | | Allow helpers to nominate peopleGravatar kosayoda2019-11-08-9/+8
| |/ / / / / / / / /
| | * | | | | | | | Update docstring to use asterisks when referring to argument namesGravatar kwzrd2019-11-08-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Kyle Stanley <[email protected]>
| | * | | | | | | | Add whitespace for readability, consistency & allureGravatar kwzrd2019-11-08-0/+1
| | | | | | | | | |
| | * | | | | | | | Adjust case to only test a single aspectGravatar kwzrd2019-11-02-1/+1
| | | | | | | | | |
| | * | | | | | | | Annotate unclear test cases with inline commentsGravatar kwzrd2019-11-02-2/+2
| | | | | | | | | |
| | * | | | | | | | Add two more test cases for links rule unit testGravatar kwzrd2019-11-01-0/+7
| | | | | | | | | |
| | * | | | | | | | Add unit test for links antispam ruleGravatar kwzrd2019-11-01-0/+93
| | | | | | | | | |
| | | * | | | | | | [kaizen] Remove now duplicate channel checkGravatar Derek2019-11-09-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unindent subsequent lines after check
| | | * | | | | | | Forward user/role pings in checkpoint to mod-alertsGravatar Derek2019-11-09-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [kaizen] limit on_message listener to verification channel
| | | * | | | | | | Reword periodic #checkpoint messageGravatar Derek2019-11-04-1/+1
| | | | | | | | | |
| | | | * | | | | | Prevent await warnings for MockBot's create_taskGravatar Sebastiaan Zeeff2019-11-13-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the coroutine object passed to `MockBot.loop.create_task` would trigger a `RuntimeWarning` for not being awaited as we do not actually create a task for it. To prevent these warnings, coroutine objects passed will now automatically be closed.
| | | | * | | | | | Prevent setting unknown attributes on d.py mocksGravatar Sebastiaan Zeeff2019-11-13-158/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our custom `discord.py` now follow the specifications of the object they are mocking more strictly by using the `spec_set` instead of the `spec` kwarg to initialize the specifications. This means that trying to set an attribute that does not follow the specifications will now also result in an `AttributeError`. To make sure we are not trying to set illegal attributes during the default initialization of the mock objects, I've changed the way we handle default values of parameters. This does introduce a breaking change: Instead of passing a `suffix_id`, the `id` attribute should now be passed using the exact name. `id`. This commit also makes sure existing tests follow this change.
| | | | * | | | | | Allow `name` attribute to be set during Mock initGravatar Sebastiaan Zeeff2019-11-13-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `name` keyword argument has a special meaning for the default mockobjects provided by `unittest.mock`. This means that by default, the common d.py `name` attribute can't be set during initalization of one of our custom Mock-objects by passing it to the constructor. Since it's unlikely for us to make use of the special `name` feature of mocks and more likely to want to set the d.py `name` attribute, I added special handling of the `name` kwarg.
| | | | * | | | | | Prevent unwanted logging while running testsGravatar Sebastiaan Zeeff2019-11-13-1/+14
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, logging messages would output to std.out. when running individual test files (instead of running the entire suite). To prevent this, I've added a `for`-loop to `tests.helpers` that sets the level of all registered loggers to `CRITICAL`. The reason for adding this to `tests.helpers` is simple: It's the most common file to be imported in individual tests, increasing the chance of the code being run for individual test files. A small downside of this way of handling logging is that when we are trying to assert logging messages are being emitted, we need to set the logger explicitly in the `self.assertLogs` context manager. This is a small downside, though, and probably good practice anyway. There was one test in `tests.bot.test_api` that did not do this, so I have changed this to make the test compatible with the new set-up.
| | | | * | | | | Use trailing _ instead of leading for some variable namesGravatar MarkKoz2019-11-06-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PEP 8 states the convention is a trailing underscore when used to prevent name conflicts.
| | | | * | | | | Moderation: use trailing _ instead of leading for variable namesGravatar MarkKoz2019-11-04-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PEP 8 states the convention is a trailing underscore when used to prevent name conflicts.
| | | | * | | | | Add logging for moderation functionsGravatar MarkKoz2019-11-04-9/+81
| | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge pull request #618 from python-discord/schedule-superstarifyGravatar S. Co12019-11-04-526/+563
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | Schedule superstarify infractions for expiration
| | * | | | | | Merge branch 'master' into schedule-superstarifyGravatar S. Co12019-11-04-260/+838
| | |\ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| | * | | | | | Superstarify: return None in _pardon_action for supported typesGravatar MarkKoz2019-10-25-1/+4
| | | | | | | |
| | * | | | | | Moderation: make infraction notification embed title lowercaseGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | Moderation: remove full stops from pardon embed titlesGravatar MarkKoz2019-10-25-2/+2
| | | | | | | |
| | * | | | | | Superstarify: make mod log title lowercase for consistencyGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | Superstarify: make the apply embed colour goldGravatar MarkKoz2019-10-25-9/+11
| | | | | | | |
| | * | | | | | Superstarify: fix incorrect infraction type check in _pardon_actionGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | InfractionScheduler: remove redundant loggingGravatar MarkKoz2019-10-25-3/+0
| | | | | | | |
| | * | | | | | Superstarify: save the old nickname before editing itGravatar MarkKoz2019-10-25-2/+3
| | | | | | | |
| | * | | | | | Superstarify: negate active infractions check in on_member_updateGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | Superstarify: fix mod log mentionGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | Superstarify: fit within 100 columns & use double quotesGravatar MarkKoz2019-10-25-7/+13
| | | | | | | |
| | * | | | | | Superstarify: refactor on_member_update eventGravatar MarkKoz2019-10-25-39/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use notify_infraction to be more consistent * Add an audit log reason to the member edit * Simplify docstring * Simplify log message
| | * | | | | | Superstarify: ignore member update event when applyingGravatar MarkKoz2019-10-25-0/+1
| | | | | | | |
| | * | | | | | InfractionScheduler: prevent duplicate rescheduling of infractionsGravatar MarkKoz2019-10-25-6/+9
| | | | | | | |
| | * | | | | | InfractionScheduler: create generic function for reapplying infractionsGravatar MarkKoz2019-10-25-68/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reapply_infraction() is a generic function which reapplies a given infraction if it is still active or deactivates it if less than 60 seconds remain. Most of the code from Infractions.on_member_joined now lives in this new function. This simplifies the "fancier" DM and mod log that were previously sent for superstar in on_member_join.
| | * | | | | | Superstarify: refactor superstarify commandGravatar MarkKoz2019-10-25-29/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Edit the nickname and schedule the infraction before sending messages * Reformat mod log description to be consistent with other infractions * Use INFRACTION_ICONS constant
| | * | | | | | Superstarify: schedule infractions by subclassing InfractionSchedulerGravatar MarkKoz2019-10-25-42/+25
| | | | | | | |
| | * | | | | | InfractionScheduler: use fetched user for notify_infractionGravatar MarkKoz2019-10-25-1/+1
| | | | | | | |
| | * | | | | | Superstarify: add icons to constants and configGravatar MarkKoz2019-10-25-3/+10
| | | | | | | |
| | * | | | | | InfractionScheduler: delegate type-specific pardon code to subclassesGravatar MarkKoz2019-10-25-35/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create an abstract method for performing type-specific infraction deactivation * Move infraction-specific pardon code to separate functions
| | * | | | | | Moderation: create a class to handle scheduling of infractionsGravatar MarkKoz2019-10-25-353/+372
| | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The class handles application, pardoning, and expiration of infractions. This will allow other cogs, such as superstarify, to later subclass it to receive the same functionality that the infractions cog had.
| | | | * | | group and order constantsGravatar Numerlor2019-11-15-3/+5
| | | | | | |
| | | | * | | Add variable info after comment was deletedGravatar Numerlor2019-11-15-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: scargly <[email protected]>
| | | | * | | join extra newlineGravatar Numerlor2019-11-15-2/+1
| | | | | | |
| | | | * | | Adjust code style and commentsGravatar Numerlor2019-11-12-37/+40
| | | | | | |
| | | | * | | syntax highlight diff of reloaded inventoriesGravatar Numerlor2019-11-11-3/+3
| | | | | | |