| Commit message (Collapse) | Author | Lines |
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following communities are whitelisted by this commit:
- Django
- Programming Discussions
- JetBrains Community
- Raspberry Pi
- Programmers Hangout
- SpeakJS
- DevCord
- Unity
- Programmer Humor
- Microsoft Community
Most of these are partners, or otherwise friendly communities that aren't worth pinging mods over.
|
|
Also now catches the exception if a user has disabled DMs, and adds a
red cross reaction.
https://github.com/python-discord/bot/issues/667
|
|
|
|
|
|
https://github.com/python-discord/bot/issues/667
|
|
|
|
https://github.com/python-discord/bot/issues/667
|
|
https://github.com/python-discord/bot/issues/667
|
|
https://github.com/python-discord/bot/issues/667
|
|
https://github.com/python-discord/bot/issues/667
|
|
It was attempting to schedule a dictionary instead of a coroutine.
Fixes #1043
Fixes BOT-6Y
|
|
Let's continue to use "@everyone" for now, and add an explicit allow for
it so that it successfully pings people.
There's a full justification for this in the pull request.
https://github.com/python-discord/bot/issues/1038
|
|
This shouldn't be used as a replacement for ModMail, but I think it
makes sense to have the feature just in case #dm-log provides an
interesting use-case where responding as the bot makes sense.
It's a bit of a curiosity, and Ves hates it, but I included it anyway.
https://github.com/python-discord/bot/issues/667
|
|
Some of the tests were failing because they were expecting send_webhook
to be a method of the DuckPond cog, other tests simply were no longer
applicable, and have been removed.
https://github.com/python-discord/bot/issues/667
|