| Commit message (Collapse) | Author | Age | Lines |
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We now check:
- Does the @everyone role have explicit read deny permissions?
- Do staff roles have explicit read allow permissions?
If the answer to both of these are yes, it's a staff channel.
By 'staff roles', I mean Helpers, Moderators or Admins.
|
| | | |\ \ \ \ |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Cleaning up a particularly dirty line by turning it into like 10 lines,
and also adding the number of channels that are hidden to the
`@everyone` role - which we're classifying as "Staff channels".
|
| | | | | | | |
| | | | | | |
| | | | | | | |
Increase every shown rule uses count when command called.
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Not all channels will have a category attribute. This may be fine in
production, but it does cause periodic errors when testing locally.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add the !modmail tag
|
| |/ / / / / / |
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Remove all sending of avatar_hash
|
| | |\ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|
| |\ \ \ \ \ \ \
| |_|_|_|_|/ /
|/| | | | | | |
Add multichannel !purge
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This ensures that only what was actually deleted will be uploaded.
I managed to get a 400 response from our API when purging twice in
quick succession. Searching the history manually for these messages is
unreliable cause of some sort of race condition.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We're removing the context manager due to async concerns, so we'll go
back to the old approach again of ignoring specific messages and
iterating history.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This reverts commit 0737b1a6
This isn't gonna work, because async is a thing.
|
| | |\ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This command was written to support only a single channel, and with the
move to multi-channel purges, we need to rethink the way the invocation
deletion happens. We may be invoking this command from a completely
different channel, so we can't necessarily look inside the channels
we're targeting for the invocation.
So, we're solving this by just deleting the invocation by using
ctx.message. We do this before we start iterating message history, and
then we only need to iterate the number of messages that was passed into
the command.
A much cleaner approach, which solves the bug reported and identified by
@MarkKoz.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This new context manager makes it easier to make the mod_log ignore
actions like message deletions. The only existing method is the
`ignore()` method, which requires that you pass all the messages you
want to ignore into it.
This one just ignores everything inside its scope.
This isn't the DRYest approach, but it's low-cost and improves the
readability of clean.py quite a bit. Ideally we should go through and
give modlog a proper cleanup, because it's kinda ugly right now.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Thanks @MarkKoz!
|
| | | | | | | |
| | | | | | |
| | | | | | | |
Co-authored-by: Mark <[email protected]>
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We can now pass in as many channel mentions as we want after any !purge
command - for example `!purge all 5 #python-general #python-language`
|
| | | |\ \ \ \ \
| |_|/ / / / /
|/| | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
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
|
| | |\ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|