| Commit message (Collapse) | Author | Age | Lines | 
| |  | 
 | 
| | 
| 
| 
| 
|  | 
This is now necessary as we call the listener ourselves from the
crawl task. An already existing, pinned message, can be received.
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
See docstring for further information. This will run on start-up
to retroactively add missing emoji.
Ratelimit-wise this should be fine, as there should never be too
many missing emoji.
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
Looks like it can be static, at least for now.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
|  | 
These serve as whitelists, i.e. any reaction using an emoji not
explicitly allowed, or from a user not specifically allowed,
will be rejected. Such reactions will be removed by the bot.
 | 
| |\   | 
 | 
| | |\  
| | | 
| | |  | 
Add cooldown channel to config-default.yml
 | 
| | | |  | 
 | 
| | | |  | 
 | 
| | |/   | 
 | 
| | |  | 
 | 
| | |  | 
 | 
| | |\  
| | | 
| | |  | 
Converters: handle ValueError when year for duration is out of range
 | 
| | | |\  
| | |/  
| |/|    | 
 | 
| | |\ \  
| | | | 
| | | |  | 
Add snekbox to the Docker compose file
 | 
| | | |\ \  
| | |/ /  
| |/| |    | 
 | 
| | |\ \ \  
| | | | | 
| | | | |  | 
ModLog: ignore DMs in the message delete listener
 | 
| | | |\ \ \  
| | |/ / /  
| |/| | |    | 
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | |  | 
The `msg` arg is for displaying a message when the assertion fails. To
match against the exception's message, `assertRaisesRegex` must be used.
Since all of the messages are meant to be interpreted literally rather
than as regex, `re.escape` is used.
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | |  | 
`datetime` objects only support a year up to 9999.
Fixes #906
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| | | | | |  | 
 | 
| |/ / / /   | 
 | 
| |\ \ \ \  
| | | | | 
| | | | |  | 
Fix AttributeError for category check
 | 
| | |\ \ \ \  
| |/ / / /  
|/| | | |    | 
 | 
| | |_|/ /  
|/| | |   
| | | |   
| | | |   
| | | |   
| | | |   
| | | |    | 
This will provide breadcrumbs for these systems in all our Sentry
events, if applicable.
Closes #989.
 | 
| |\ \ \ \  
| | | | | 
| | | | |  | 
Stats: Implement rules stats
 | 
| | |\ \ \ \  
| |/ / / /  
|/| | | |    | 
 | 
| |\ \ \ \ \  
| | | | | | 
| | | | | |  | 
Add staff counts to !server
 | 
| | |\ \ \ \ \  
| |/ / / / /  
|/| | | | |    | 
 | 
| |\ \ \ \ \ \  
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | |  | 
python-discord/sebastiaan/issues/982-infraction-dm-order
Send infraction DM before applying infraction
 | 
| |/ / / / / /  
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |   
| | | | | |    | 
I've "reverted" the change that reversed the order of DM'ing a user
about their infraction and applying the actual infraction. A recent PR
reversed the order to stop us from sending DMs when applying the
infraction failed.
However, in order to DM a user, the bot has to share a guild with the
recipient and kicking them off of our server first does not help with
that. That's why I reverted the change and reverted some other minor
changes made in relation to this change.
Note: I did not change the code sending the DM itself; I merely moved it
back to where it belongs and added a comment about the necessity of
doing the DM'ing first.
I couldn't cleanly revert a commit to do this, as changes were spread
out over and included in multiple commits that also contained changes
not related to the `DM->apply infraction` order.
 | 
| | | | | | | 
| | | | | | 
| | | | | | 
| | | | | | 
| | | | | |  | 
This also changes a few aesthetic problems pointed out in review by
@MarkKoz and @kwzrd.
 | 
| | |\ \ \ \ \   | 
 | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | |  | 
This de-clutters the main `server_info` function and improves its
readability.
 | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | |  | 
Simplification comes from being able to access permissions as attributes
on the overwrite object. This removes the need to iterate all
permissions.
Efficiency comes from checking all roles within a single iteration of
all channels. This also removes the need to flatten and filter the
channels afterwards, which required additional iterations.
 | 
| | |\ \ \ \ \ \   | 
 | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | |  | 
We're using the set comprehension to prevent duplicates anyway, so
flipping these back makes more sense.
Also added a missing ctx and tested ok.
 | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | |  | 
- We're using a set comprehension and flipping the order for counting
  the number of channels that are both staff allow and @everyone deny.
- We're breaking the staff channel count stuff into a separate helper
  function so it doesn't crowd the server_info() scope.
These fixes are both to address the code review from @MarkKoz, thanks
Mark.
 | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | |  | 
I wish this test didn't exist.
 |