| Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is necessary to support walrus operators.
|
|
|
|
Addresses reviews from MarkKoz
Co-authored-by: Mark <[email protected]>
|
|
|
|
|
|
|
|
|
|
We now filter guild invites the following way:
- Whitelisted invites are always permitted.
- Blacklisted invites are never permitted.
- If the invite is not blacklisted, it is permitted only if it is a
Verified or a Partnered server, otherwise not.
This strategy was decided on during the June 7th staff meeting, see
https://github.com/python-discord/organisation/issues/261
|
|
We want to support deletion of both IDs and guild invites, so we need a
bit of special handling for that.
|
|
We will now validate and convert any standard discord server invite to a
guild ID, and automatically add the name of the server as a comment.
This will ensure that the list of whitelisted guild IDs will be readable
and nice.
This also makes minor changes to list output aesthetics.
|
|
|
|
This gives easier access to the Guild ID in the place where you're most
likely to want to use the whitelist command.
|
|
|
|
Also updates the tests for this cog.
|
|
Instead of fetching the guild invite IDs from config-default.yml, we
will now be using the AllowDenyList cache to check these.
|
|
|
|
This includes commands to add, remove and show the items in the
whitelists and blacklists for the different list types.
Commands are limited to Moderators+.
|
|
Instead of just dumping the JSON response from the site, we'll build a
data structure that it will be convenient to access from our new cog,
and from the Filtering cog.
|
|
|
|
|
|
Currently, some types of errors are returning plain strings that repeat
the input (which can be exploited to deliver stuff like mentions), and
others are returning generic messages that don't give any exception
information.
This commit unifies our approach around putting as much information as
we can (including the exception message), but always putting it inside
an embed, so that stuff like pings will not fire.
This, combined with the 1.4.0a `allowed_mentions` functionality, seems
like a reasonable compromise between security and usability.
|
|
We'll use this to ensure the input is valid when people try to whitelist
or blacklist stuff. It will fetch its data from an Enum maintained on
the site, so that the types of lists we support will only need to be
maintained in a single place, instead of duplicating that data in the
bot and the site.
|
|
We shouldn't be making an API call for every single message posted, so
what we're gonna do is cache the data in the Bot, and then update the
cache whenever we make changes to it via our new AllowDenyList cog.
Since this cog will be the only way to make changes to this, this level
of lazy caching should be enough to always keep the cache up to date.
|
|
|
|
|
|
https://github.com/python-discord/bot/issues/1041
|
|
Weird.
https://github.com/python-discord/bot/issues/1041
|
|
When we're using the !reply command, using a regular UserConverter is
somewhat problematic. For example, if I wanted to send the message
"lemon loves you", then I'd try to write `!reply lemon loves you` -
however, the optional User converter would then try to convert `lemon`
into a User, which it would successfully do since there's like 60 lemons
on our server.
As a result, the message "loves you" would be sent to a user called
lemon.. god knows which one.
To solve this bit of ambiguity, I introduce a new converter which only
converts user mentions or user IDs into User, not strings that may be
intended as part of the message you are sending.
https://github.com/python-discord/bot/issues/1041
|
|
Co-authored-by: Sebastiaan Zeeff <[email protected]>
|
|
https://github.com/python-discord/bot/issues/1041
|
|
Without this, it is difficult to know precisely who the user that is
DMing us is, which might be useful to us.
https://github.com/python-discord/bot/issues/1041
|
|
This reverts commit 042f472a
|
|
Fixes a regression where the string to be matched was not processed
beforehand.
|
|
|
|
Users can no longer see available channels if they're on cooldown. They
will instead see a special "cooldown" channel which will explain
what's going on.
|
|
The message may be deleted somehow before the wait_for times out.
Fixes #1050
Fixes BOT-6X
|
|
If you're typing up a reply and the bot gets another DM while you're
typing, you might accidentally send your reply to the wrong person.
This could happen even if you're very attentive, because it might be a
matter of milliseconds. The complexity to prevent this isn't worth the
convenience of the feature, and it's nice to get rid of the caching as
well, so I've decided to just make .reply require a user for every
reply.
https://github.com/python-discord/bot/issues/1041
|
|
Co-authored-by: Sebastiaan Zeeff <[email protected]>
|
|
|
|
|
|
Adjust description and include link to docs
|
|
The kwarg `active=False` is already being passed in `apply_kick`,
therefore passing it in the parent callers result in a TypeError.
Fixes #976
Fixes BOT-5P
|
|
Trying to match a string with only non-alphanumeric characters
results in a warning by fuzzywuzzy.
Processing the string before matching lets us avoid the warning, which
which uses the root logger and thus isn't supressible.
|