|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| | 
| 
| 
| | - Using a class is more readable than using a NamedTuple | 
| | |  | 
| | 
| 
| 
| | - As suggested, `was` is more fitting in the message than `is` | 
| | 
| 
| 
| | - as sugested notifier.remove_channel and muted_channels.discard should be together | 
| | 
| 
| 
| | - self.schedule_task shouldn't be awaited as it isn't a coroutine | 
| | 
| 
| 
| 
| | - As suggested, this function is not necessary
- Also fixed no longer valid`stop`in SilencedChannel NamedTuple | 
| | |  | 
| | |  | 
| | 
| 
| 
| 
| | - There shouldn't be another class only for Scheduler
instead, we can implement it directly into Silence class | 
| | |  | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | `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. | 
| |\  
| | 
| | | Link #how-to-get-help in !free tag | 
| | |\  
| |/  
|/| |  | 
| |\ \  
| | | 
| | | | Remove the periodic ping from #verification | 
| | |\ \  
| |/ /  
|/| | |  | 
| | | | 
| | | 
| | | 
| | | | We do not wanna process bot messages. | 
| | |\ \ |  | 
| | | | | 
| | | | 
| | | | 
| | | | | It's no longer needed, and causes problems with anti-raid and anti-spam. | 
| | |_|/  
|/| |   
| | |   
| | |   
| | | | This creates a clickable link in the response embed. Referencing the
category is no longer necessary. | 
| |\ \ \  
| | | | 
| | | | | Ban and kick reason length fix | 
| | |\ \ \  
| |/ / /  
|/| | | |  | 
| |\ \ \ \  
| | | | | 
| | | | | | Add tests for the antimalware cog | 
| | |\ \ \ \  
| |/ / / /  
|/| | | | |  | 
| |\ \ \ \ \  
| |_|_|_|/  
|/| | | | | Specify encoding when reading tag files | 
| |/ / / /  
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | | | 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) | 
| |\ \ \ \  
| |_|_|/  
|/| | | | Ignore response when posting python news | 
| | |\ \ \  
| |/ / /  
|/| | | |  | 
| |\ \ \ \ |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | 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. | 
| |/ / / /  
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | | | 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. | 
| |/ / /  
| | |   
| | | | 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. | 
| |\ \ \  
| | | | 
| | | | | RedisCache - Data Persistence | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | | This addresses a review comment by @aeros. | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | 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. | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | - 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. | 
| | |\ \ \  
| |/ / /  
|/| | | |  | 
| |\ \ \ \  
| | | | | 
| | | | | 
| | | | | 
| | | | | | python-discord/moderation_commands_in_modmail_category
Permit moderation commands in ModMail category | 
| | | | | | |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | This check was no longer being used anywhere, having been replaced by
in_whitelist_check. | 
| | |\ \ \ \  
| |/ / / /  
|/| | | | |  | 
| | | | | | |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | 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. | 
| | | | | | |  | 
| | | | | | |  | 
| | | | | | |  | 
| |/ / / /  
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | | | 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. | 
| | | | | 
| | | | 
| | | | 
| | | | | I should be shot. |