aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Use class instead of NamedTupleGravatar ItsDrike2020-06-06-9/+12
| | | | - Using a class is more readable than using a NamedTuple
* Test for channel not silenced messageGravatar ItsDrike2020-06-06-4/+14
|
* Change `is` to `was` for unsilenced channel messageGravatar ItsDrike2020-06-06-1/+1
| | | | - As suggested, `was` is more fitting in the message than `is`
* Move cancel_task before notifier.remove_channelGravatar ItsDrike2020-06-06-1/+1
| | | | - as sugested notifier.remove_channel and muted_channels.discard should be together
* Do not await self.schedule_taskGravatar ItsDrike2020-06-06-1/+1
| | | | - self.schedule_task shouldn't be awaited as it isn't a coroutine
* Remove unnecessary schedule_unsilenceGravatar ItsDrike2020-06-06-7/+1
| | | | | - As suggested, this function is not necessary - Also fixed no longer valid`stop`in SilencedChannel NamedTuple
* Fix import orderGravatar ItsDrike2020-06-06-1/+1
|
* Apply suggestions from reviewGravatar ItsDrike2020-06-06-15/+10
|
* Use Scheduler inside the cogGravatar ItsDrike2020-06-04-30/+20
| | | | | - There shouldn't be another class only for Scheduler instead, we can implement it directly into Silence class
* Optimize ImportsGravatar ItsDrike2020-06-01-4/+4
|
* Fix Formatting/StylingGravatar ItsDrike2020-06-01-8/+5
|
* Use Scheduler instead of asyncio.sleep on silence cogGravatar ItsDrike2020-06-01-10/+56
| | | | | | | | | | | `asyncio.sleep` doesn't provide us with the ability to stop that timer, while in most of the cases, this is fine, there is a possibility that channel will be unsilenced manually and silenced again, but this sleep from the first silence will cancel the second (new) silence. This will replace this `asyncio.sleep` with Scheduler which provides the ability to cancel the unsilencing task when aborted manually. That means we also have the ability to send a response if the channel is not silenced and someone tries to unsilence it.
* Merge pull request #973 from python-discord/kwzrd/improve-freeGravatar kwzrd2020-05-31-2/+2
|\ | | | | Link #how-to-get-help in !free tag
| * Merge branch 'master' into kwzrd/improve-freeGravatar kwzrd2020-05-31-42/+1
| |\ | |/ |/|
* | Merge pull request #971 from python-discord/remove_periodic_pingGravatar kwzrd2020-05-30-42/+1
|\ \ | | | | | | Remove the periodic ping from #verification
| * \ Merge branch 'master' into remove_periodic_pingGravatar kwzrd2020-05-30-63/+354
| |\ \ | |/ / |/| |
| * | Oops, add the return back.Gravatar Leon Sandøy2020-05-30-0/+1
| | | | | | | | | | | | We do not wanna process bot messages.
| * | Merge branch 'master' into remove_periodic_pingGravatar Leon Sandøy2020-05-30-0/+1
| |\ \
| * | | Removing the periodic ping from verification.Gravatar Leon Sandøy2020-05-30-43/+1
| | | | | | | | | | | | | | | | It's no longer needed, and causes problems with anti-raid and anti-spam.
| | | * Free tag: link #how-to-get-helpGravatar kwzrd2020-05-30-2/+2
| |_|/ |/| | | | | | | | | | | This creates a clickable link in the response embed. Referencing the category is no longer necessary.
* | | Merge pull request #864 from ks129/ban-kick-reason-lengthGravatar Mark2020-05-30-42/+159
|\ \ \ | | | | | | | | Ban and kick reason length fix
| * \ \ Merge branch 'master' into ban-kick-reason-lengthGravatar Mark2020-05-30-350/+1571
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #930 from MrGrote/test_antimalwareGravatar Sebastiaan Zeeff2020-05-30-20/+194
|\ \ \ \ | | | | | | | | | | Add tests for the antimalware cog
| * \ \ \ Merge branch 'master' into test_antimalwareGravatar Sebastiaan Zeeff2020-05-30-965/+2124
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge pull request #972 from Numerlor/tag-encodingGravatar Mark2020-05-29-1/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | Specify encoding when reading tag files
| * | | | Tags: explicitly use UTF-8 to read filesGravatar MarkKoz2020-05-30-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all operating systems use UTF-8 as the default encoding. For systems that don't, reading tag files with Unicode would cause an unhandled exception. (cherry picked from commit adc75ff9bbcf8b905bd78c78f253522ae5e42fc3)
* | | | Merge pull request #965 from Akarys42/patch-1Gravatar Dennis Pham2020-05-29-0/+1
|\ \ \ \ | |_|_|/ |/| | | Ignore response when posting python news
| * | | Merge branch 'master' into patch-1Gravatar Dennis Pham2020-05-29-31/+8
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #966 from python-discord/sebastiaan/help-channels/ratelimitsGravatar Joseph Banks2020-05-29-31/+8
|\ \ \ \
| * | | | Reduce the number of help channel name changesGravatar Sebastiaan Zeeff2020-05-29-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discord has introduced a new, strict rate limit for individual channel edits that reduces the number of allow channel name/channel topic changes to 2 per 10 minutes per channel. Unfortunately, our help channel system frequently goes over that rate limit as it edits the name and topic of a channel on all three "move" actions we have: to available, to occupied, and to dormant. In addition, our "unanswered" feature adds another channel name change on top of the move-related edits. That's why I've removed the topic/emoji changing features from the help channel system. This means we now have a generic topic that fits all three categories and no status emojis in the channel names.
| * | | | Fix `check_for_answer` breaking on missing cacheGravatar Sebastiaan Zeeff2020-05-29-2/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `check_for_answer` method of the HelpChannels cog relies on the channel->claimant cache being available. However, as this cache is (currently) lost during bot restarts, this method may fail with a KeyError exception. I've used `dict.get` with an `if not claimant: return` to circumvent this issue.
| * / / Ignore response when posting python newsGravatar Matteo Bertucci2020-05-29-0/+1
|/ / / | | | | | | Sometimes a mailing list user doesn't press respond correctly to the email, and so a response is sent as a separate thread. To keep only new threads in the channel, we need to ignore those.
* | | Merge pull request #947 from python-discord/redis_persistenceGravatar Sebastiaan Zeeff2020-05-28-182/+1061
|\ \ \ | | | | | | | | RedisCache - Data Persistence
| * | | Move the `self.redis_closed` into session create.Gravatar Leon Sandøy2020-05-28-1/+1
| | | |
| * | | Prevent a state where a coro could wait forever.Gravatar Leon Sandøy2020-05-28-2/+6
| | | | | | | | | | | | | | | | This addresses a review comment by @aeros.
| * | | Add custom exceptions for each error state.Gravatar Leon Sandøy2020-05-28-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bot can get into trouble in three distinct ways: - It has no Bot instance - It has no namespace - It has no parent instance. These happen only if you're using it wrong. To make the test more precise, and to add a little bit more readability (RuntimeError could be anything!), we'll introduce some custom exceptions for these three states. This addresses a review comment by @aeros.
| * | | Make prefix consts private and more precise.Gravatar Leon Sandøy2020-05-28-9/+9
| | | |
| * | | Reduce complexity on some of the typestring stuff.Gravatar Leon Sandøy2020-05-28-31/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Refactor error messages in _to_typestring and _from_typestring to just print the prefix tuples instead of that custom error string. - Create a RedisKeyOrValue type to simplify some annotations. - Simplify partialmethod calls. - Make the signatures for _to_typestring and _from_typestring one-liners - Fix a typo in the errors.
| * | | Merge branch 'master' into redis_persistenceGravatar Leon Sandøy2020-05-27-80/+154
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #961 from ↵Gravatar Sebastiaan Zeeff2020-05-27-88/+161
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | python-discord/moderation_commands_in_modmail_category Permit moderation commands in ModMail category
| * | | | Add some tests for `in_whitelist_check`.Gravatar Leon Sandøy2020-05-27-0/+48
| | | | |
| * | | | Remove the now deprecated in_channel_check.Gravatar Leon Sandøy2020-05-27-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This check was no longer being used anywhere, having been replaced by in_whitelist_check.
| * | | | Merge branch 'master' into moderation_commands_in_modmail_categoryGravatar Joseph Banks2020-05-27-0/+1
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Add /r/FlutterDev to the guild invite whitelistGravatar Dennis Pham2020-05-26-0/+1
| | | | |
| * | | | Allow some commands to fail checks silently.Gravatar Leon Sandøy2020-05-27-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, we don't want the mod commands to produce any kind of error message when run by ordinary users in regular channels - these should have the perception of being invisible and unavailable.
| * | | | No redirect for mod management.Gravatar Leon Sandøy2020-05-27-0/+1
| | | | |
| * | | | Find + change all InWhitelistCheckFailure importsGravatar Leon Sandøy2020-05-27-9/+8
| | | | |
| * | | | Allow infraction management in modmail categoryGravatar Leon Sandøy2020-05-27-12/+13
| | | | |
| * | | | Refactor the in_whitelist deco to a check.Gravatar Leon Sandøy2020-05-27-53/+86
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're moving the actual predicate into the `utils.checks` folder, just like we're doing with most of the other decorators. This is to allow us the flexibility to use it as a pure check, not only as a decorator. This commit doesn't actually change any functionality, just moves it around.
| * | | Fix ATROCIOUS comment.Gravatar Leon Sandøy2020-05-27-3/+5
| | | | | | | | | | | | | | | | I should be shot.