| Commit message (Collapse) | Author | Age | Lines | 
| ...                        |  | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
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().
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
This means we don't need to rely on strtobool, and is a cleaner
implementation overall. Thanks @MarkKoz.
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
More specifically, we're turning three
dicts into RedisCaches:
- help_channel_claimants
- unanswered
- claim_times
These will still work the same way, but will now persist their contents
across restarts.
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
We're gonna need this for the help channel handling, and it seems like a
reasonable type to support anyway. It requires a tiny bit of special
handling, but nothing outrageous.
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
The function doesn't take the loop as an argument anymore
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Recent changes to the scheduler requires this line to be removed.
 | 
| | | | | | | |\ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
It could have caused an issue later with a mix of naive and aware datetime
Co-Authored-By: Sebastiaan Zeeff <[email protected]>
 | 
| | | | | | | |\ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | |\ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Co-Authored-By: Mark <[email protected]>
 | 
| | | | | | | |\ \ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | |  | 
already deleted.
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | |  | 
If the filter cog filter a message that's considered as offensive
(filter["offensive_msg"] is True), the cog create a new
offensive message object in the bot db with a delete_date of one
week after it was sent.
A background task run every day, pull up a list of message to
delete, find them back, and delete them.
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | |  | 
Can't remove messages in DMs, so don't bother trying.
 | 
| | | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | |  | 
It just makes more sense to me to filter out messages at an earlier
stage.
 | 
| | | | | | |_|_|_|_|_|_|/ / / / / /  
| | | | |/| | | | | | | | | | | |   
| | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | |    | 
It's a private channel so there's no risk of a token "leaking".
Furthermore, messages cannot be deleted in DMs.
 | 
| | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | |  | 
The Cyrillic characters are more likely to be rendered similarly to
their Latin counterparts than the math sans-serif characters.
 | 
| | |_|_|_|_|_|_|_|_|_|_|/ / / / /  
|/| | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | |    | 
Discord just disallows this name.
 | 
| | |_|_|/ / / / / / / / / / / /  
|/| | | | | | | | | | | | | |    | 
 | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | |  | 
- Remove embed attributes checks
- Replace `self.dev_log.assert_awaited_once_with` with `self.dev_log.assert_awaited_once`.
 | 
| | | | | | | | | | | | |\ \ \ \   | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Need to compare the IDs against each other rather than the Guild object
against the ID.
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
404s probably mean the user is from another guild.
 | 
| | | | | | | | | | | | | | | | |  | 
 |