aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | | | | | | | | | | * | | | | | | | | Silence tests: add a test for default overwrites on cache missGravatar MarkKoz2020-08-17-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a False for `add_reactions` in the mock overwrite rather than None to be sure the default (also None) is actually set for it. Fix channels set by `_init_cog` not being mocked properly.
| | | | | | | | | | | * | | | | | | | | Silence tests: add a test for task cancellationGravatar MarkKoz2020-08-17-0/+5
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: add a test for deletion from the time cacheGravatar MarkKoz2020-08-17-0/+5
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: add tests for scheduling tasksGravatar MarkKoz2020-08-17-0/+12
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: add a test for caching permanent timesGravatar MarkKoz2020-08-17-0/+6
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: add a test for the time cacheGravatar MarkKoz2020-08-17-0/+15
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix mock for _init_taskGravatar MarkKoz2020-08-17-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An `AsyncMock` fails because it returns a coroutine which may only be awaited once. However, an `asyncio.Future` is perfect because it is easy to create and can be awaited repeatedly, just like the actual `asyncio.Task` that is being mocked.
| | | | | | | | | | | * | | | | | | | | Silence tests: create channel and overwrite in setUp for silence testsGravatar MarkKoz2020-08-17-29/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce code redundancy by only defining them once.
| | | | | | | | | | | * | | | | | | | | Silence tests: merge unsilence fixture into setUpGravatar MarkKoz2020-08-17-32/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that there are separate test cases, there's no need to keep the fixtures separate.
| | | | | | | | | | | * | | | | | | | | Silence tests: autospec _reschedule and SilenceNotifier for cog testsGravatar MarkKoz2020-08-17-4/+10
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: separate test cases; refactor names & docstringsGravatar MarkKoz2020-08-17-71/+95
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix tests for _unsilenceGravatar MarkKoz2020-08-17-30/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a fixture to set up mocks for a successful `unsilence` call. This reduces code redundancy.
| | | | | | | | | | | * | | | | | | | | Silence tests: fix test_unsilence_private_removed_notifierGravatar MarkKoz2020-08-17-2/+5
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix overwrite preservation test for silencesGravatar MarkKoz2020-08-17-11/+15
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix command message testsGravatar MarkKoz2020-08-17-15/+10
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix test_silence_private_for_falseGravatar MarkKoz2020-08-17-4/+13
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix test_silence_private_silenced_channelGravatar MarkKoz2020-08-17-3/+10
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix test_silence_private_notifierGravatar MarkKoz2020-08-17-0/+3
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix test_unsilence_private_for_falseGravatar MarkKoz2020-08-17-1/+4
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: fix silence cache test for overwritesGravatar MarkKoz2020-08-17-5/+8
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: replace obsolete cog_unload testsGravatar MarkKoz2020-08-17-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moderation notifications are no longer sent so that doesn't need to be tested.
| | | | | | | | | | | * | | | | | | | | Silence tests: rename test_instance_vars to test_init_cogGravatar MarkKoz2020-08-17-5/+5
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Silence tests: mock RedisCachesGravatar MarkKoz2020-08-17-3/+2
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | * | | | | | | | | Tests: optionally prevent autospec helper from passing mocksGravatar MarkKoz2020-08-17-19/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not everything that's decorated needs the mocks that are patched. Being required to add the args to the test function anyway is annoying. It's especially bad if trying to decorate an entire test suite, as every test would need the args. Move the definition to a separate module to keep things cleaner.
| | | | | | | | | | | * | | | | | | | | Silence: rename _get_instance_vars to _init_cogGravatar MarkKoz2020-08-16-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a more accurate name since it also reschedules unsilences now.
| | | | | | | | | | | * | | | | | | | | Silence: remove event and await _get_instance_vars_task directlyGravatar MarkKoz2020-08-16-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The event is redundant because the task can be awaited directly to block until it's complete. If the task is already done, the await will instantly finish.
| | | | | | | | | | | * | | | | | | | | Silence: use aware datetimesGravatar MarkKoz2020-08-16-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `datetime.timestamp()` assumes naïve `datetime`s are in local time, so getting POSIX timestamps in UTC isn't easy for naïve ones. Technically, the timestamp's timezone doesn't matter if all code is on the same page and parsing it with the same timezone. Keeping it in the local timezone would be okay then, but I feel safer locking it to UTC explicitly.
| | | | | | | | | | | * | | | | | | | | Silence: reschedule silences on startupGravatar MarkKoz2020-08-16-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the moderator notification when unloading the cog because. Its purpose was to remind to manually unsilence channels. However, this purpose is now obsolete due to automatic rescheduling. The notification was buggy anyway due to a race condition with the bot shutting down, and that'd be further complicated by having to asynchronously retrieve channels from the redis cache too. Fixes #1053
| | | | | | | | | | | * | | | | | | | | Silence: persist silenced channelsGravatar MarkKoz2020-08-16-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be used to support rescheduling.
| | | | | | | | | | | * | | | | | | | | Silence: add separate unsilence error for manually-silenced channelsGravatar MarkKoz2020-08-15-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was confusing to reject a silence and an unsilence when overwrites were manually set to False. That's because it's contradictory to show an error stating it's already silence but then reject an unsilence with an error stating the channel isn't silenced.
| | | | | | | | | | | * | | | | | | | | Silence: notify admins if previous overwrites were not cachedGravatar MarkKoz2020-08-15-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Admins will have to manually check the default values used and adjust them if they aren't the desired values for that particular channel.
| | | | | | | | | | | * | | | | | | | | Silence: abort silence if there's already a scheduled taskGravatar MarkKoz2020-08-15-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overwrites can be edited during a silence, which can result in the overwrites check failing. Checking the scheduler too ensures that a duplicate silence won't be scheduled.
| | | | | | | | | | | * | | | | | | | | Silence: revoke permissions to add reactionsGravatar MarkKoz2020-08-15-11/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No longer assume default values for the overwrites which are modified. Save and restore previous values `add_reactions` and `send_messages` via redis. When unsilencing, check if a channel is silenced via the redis cache rather than the channel's current overwrites to ensure the task is cancelled even if overwrites were manually edited.
* | | | | | | | | | | | | | | | | | | | Merge remote-tracking branch 'origin/bug-fixes' into bug-fixesGravatar ks1292020-10-10-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | | | Fix calling extensions removing function with wrong nameGravatar ks1292020-10-09-1/+1
| | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Catch HTTPException when muting userGravatar ks1292020-10-10-2/+7
| | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Use done callback instead of plain try-except inside functionGravatar ks1292020-10-10-26/+30
| | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Get all extensions first for unloading to avoid iteration errorGravatar ks1292020-10-10-1/+3
| | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Fix name of extensions removing functionGravatar ks1292020-10-10-1/+1
|/ / / / / / / / / / / / / / / / / / / /
* | | | | | | | | | | | | | | | | | | | Merge remote-tracking branch 'up/master' into bug-fixesGravatar ks1292020-10-09-5351/+7612
|\| | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | Merge pull request #1165 from RohanJnr/smart_syncing_usersGravatar Mark2020-10-08-74/+144
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smart syncing of Users
| | * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into smart_syncing_usersGravatar Mark2020-10-08-19/+48
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | | Merge pull request #1220 from python-discord/purgebanGravatar scragly2020-10-09-2/+26
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into purgebanGravatar scragly2020-10-09-17/+22
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | | | Merge pull request #1222 from python-discord/fix-ping-processing-timeGravatar scragly2020-10-09-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix millisecond time for command processing time
| | * | | | | | | | | | | | | | | | | | | | | Fix millisecond time for command processing timeGravatar Gustav Odinger2020-10-08-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - For the `.ping` command - Fixes a faulty convertion from seconds to milliseconds
| * | | | | | | | | | | | | | | | | | | | | | PR #1209: Improve 'send_attachments'Gravatar kwzrd2020-10-08-16/+21
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | Allow kwargs and set `use_cached` to False by default.
| | * | | | | | | | | | | | | | | | | | | | | made sure to use sub_clyde on username passed to send_attachmentsGravatar wookie1842020-10-07-1/+2
| | | | | | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | | | | | Changed dm_relay to include user id in webhook when sending attachments.Gravatar wookie1842020-10-02-1/+5
| | | | | | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | | | | | Add use_cached argument to send_attachments, and change it to default to FalseGravatar wookie1842020-10-02-1/+2
| | | | | | | | | | | | | | | | | | | | | | |