| Commit message (Collapse) | Author | Age | Lines | 
| | 
| 
|  | 
Co-authored-by: Leon Sandøy <[email protected]>
 | 
| | 
| 
|  | 
Co-authored-by: Leon Sandøy <[email protected]>
 | 
| |\   | 
 | 
| | |\  
| | | 
| | | 
| | | 
| | |  | 
python-discord/bug/backend/bot-50/sync-ignore-guilds
Sync: ignore events from other guilds
 | 
| | | |\  
| | |/  
| |/|    | 
 | 
| | |\ \  
| | | | 
| | | |  | 
Created tests for startup logging
 | 
| | | |\ \  
| | |/ /  
| |/| |    | 
 | 
| | |\ \ \  
| | | | | 
| | | | |  | 
Fix 400 when "clyde" is in any webhook username
 | 
| | | |\ \ \  
| | |/ / /  
| |/| | |    | 
 | 
| | |\ \ \ \  
| | | | | | 
| | | | | |  | 
Add Pipenv script for html coverage report
 | 
| | | | | | | 
| | | | | | 
| | | | | | 
| | | | | | 
| | | | | |  | 
Similarly to the `report` script, this removes the need to invoke
coverage when generating the html report.
 | 
| | |\ \ \ \ \  
| | |/ / / /  
| |/| | | |   
| | | | | |   
| | | | | |    | 
python-discord/bug/filters/bot-58/removers-ignore-dms
Ignore DMs in token and webhook removers
 | 
| | | |\ \ \ \  
| | |/ / / /  
| |/| | | |    | 
 | 
| | |\ \ \ \ \  
| | | | | | | 
| | | | | | |  | 
#364 offensive msg autodeletion
 | 
| | | | | | | |  | 
 | 
| | | |\ \ \ \ \  
| | |/ / / / /  
| |/| | | | |    | 
 | 
| | |\ \ \ \ \ \  
| | | | | | | | 
| | | | | | | |  | 
Create cooldown.md
 | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | |  | 
Co-authored-by: Mark <[email protected]>
 | 
| | | |\ \ \ \ \ \   | 
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | |  | 
Co-authored-by: Mark <[email protected]>
 | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | |  | 
Co-authored-by: Joseph Banks <[email protected]>
 | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | |  | 
Apply suggestions from code review
Co-authored-by: Joseph Banks <[email protected]>
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | |  | 
 | 
| | | | | | | | | |  | 
 | 
| | |\ \ \ \ \ \ \ \  
| | | | | | | | | | 
| | | | | | | | | |  | 
Check infraction reason isn't None before shortening it
 | 
| | | | | | | | | | |  | 
 | 
| | | | | | | | | | |  | 
 | 
| | | | | | | | | | |  | 
 | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | |  | 
The reason None check should be nested to avoid affecting the else/elif
statements that follow.
 | 
| | | | | | | | | | |  | 
 | 
| | | | | | | | | | |  | 
 | 
| | |\ \ \ \ \ \ \ \ \  
| | | | | | | | | | | 
| | | | | | | | | | |  | 
Add persistence to the help channel system
 | 
| | | |\ \ \ \ \ \ \ \ \  
| | |/ / / / / / / / /  
| |/| | | | | | | | |    | 
 | 
| | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
Using the cache is more efficient since it can check only the users it
expects to have a cooldown rather than searching all guild members.
Furthermore, re-scheduling the cooldowns ensures members experience the
full duration of the cooldown. Previously, all cooldowns were removed,
regardless of whether they were expired.
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
Moving this code into a separate function reduces redundancy down the
line. This will also get used to re-scheduled cooldowns after a restart.
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
Future code will also need to get this time, so moving it out to a
separate function reduces redundancy.
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
The datetime module returns a local timestamp for naïve datetimes.
It has to be timezone-aware to ensure it will always be in UTC.
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
Since help_channel_claimants.delete will never raise a KeyError, it's
not necessary to suppress one.
 | 
| | | |\ \ \ \ \ \ \ \ \  
| | | | |/ / / / / / /  
| | | |/| | | | | | |    | 
 | 
| | | |\ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
Instead of first checking if the channel.id exists and then checking
what it is, we just do a single API call, to prevent cases where
something fucky might happen inbetween the first and the second call.
 | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
We're also switching from datetime.now() to datetime.utcnow().
 |