aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2020-07-30Add more explicit feedback to failures.Gravatar Leon Sandøy-7/+17
For deleting and listing data, we now get some more feedback when things fail.
2020-07-29Dynamically amend types to filterlist docstrings.Gravatar Leon Sandøy-5/+38
We want the !help invocations to give you all the information you need in order to use the command. That also means we need to provide the valid filterlist types, which are subject to change. So, we fetch the valid ones from the API and then dynamically insert them into the docstrings.
2020-07-29Make sure file formats have leading dots.Gravatar Leon Sandøy-0/+8
2020-07-29Apply suggested change from @MarkKoz.Gravatar Leon Sandøy-4/+1
2020-07-29Fix broken antimalware tests.Gravatar Leon Sandøy-1/+1
2020-07-29We search for an invite instead of matching one.Gravatar Leon Sandøy-1/+1
This means we can validate invites that start with https://, whereas before we could not.
2020-07-29word_watchlist -> filter_token in filtering.py.Gravatar Leon Sandøy-2/+2
2020-07-29Restructure bot.filter_list_cache.Gravatar Leon Sandøy-21/+20
This is an optimization designed to eliminate all the list comprehensions we were doing inside antimalware and filtering. The cache is now structured so that the content is the key and the metadata is the value.
2020-07-29Fix a bad type annotation.Gravatar Leon Sandøy-2/+2
2020-07-29Fix imports in converters.pyGravatar Leon Sandøy-5/+6
2020-07-29Refactor filtering: use non-compiled expressions.Gravatar Leon Sandøy-10/+6
2020-07-29Make a helper for validating guild invites.Gravatar Leon Sandøy-16/+18
2020-07-29Make a helper for inserting filter lists.Gravatar Leon Sandøy-21/+16
2020-07-29Kaizen - group private methods together.Gravatar Leon Sandøy-43/+43
2020-07-29Use a defaultdict(list) for filter_list_cache.Gravatar Leon Sandøy-6/+7
2020-07-29Expect status 400 for duplicates.Gravatar Leon Sandøy-2/+2
2020-07-27Bump flake8 version to 3.8Gravatar Leon Sandøy-173/+191
This is necessary to support walrus operators.
2020-07-27Rename AllowDenyList to FilterListsGravatar Leon Sandøy-45/+45
2020-07-24More explicit dict indexing Gravatar Leon Sandøy-3/+3
Addresses reviews from MarkKoz Co-authored-by: Mark <[email protected]>
2020-07-24Add sanity to partner and verification check in filtering.py.Gravatar Leon Sandøy-2/+2
2020-07-24No need for all() in cog_check for AllowDenyLists.Gravatar Leon Sandøy-4/+1
2020-07-24Put valid_types_list inside the conditional.Gravatar Leon Sandøy-1/+1
2020-07-24Catch ResponseCodeError in the ValidAllowDenyListType converter.Gravatar Leon Sandøy-7/+7
2020-07-19Implement new guild invite filtering logic.Gravatar Leon Sandøy-7/+19
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
2020-07-19Validation of guild invites for delete.Gravatar Leon Sandøy-2/+14
We want to support deletion of both IDs and guild invites, so we need a bit of special handling for that.
2020-07-19Validation of guild invites.Gravatar Leon Sandøy-17/+78
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.
2020-07-19Support the new AllowDenyList field, 'comment'.Gravatar Leon Sandøy-10/+46
2020-07-19Include the guild ID in mod-log embed.Gravatar Leon Sandøy-3/+4
This gives easier access to the Guild ID in the place where you're most likely to want to use the whitelist command.
2020-07-19Fix an absolutely terrible comment.Gravatar Leon Sandøy-1/+1
2020-07-18Remove AntiMalWare constants, use cache data.Gravatar Leon Sandøy-55/+30
Also updates the tests for this cog.
2020-07-18Remove Filtering constants, use cache data.Gravatar Leon Sandøy-135/+32
Instead of fetching the guild invite IDs from config-default.yml, we will now be using the AllowDenyList cache to check these.
2020-07-18Add more logging to AllowDenyLists cog.Gravatar Leon Sandøy-2/+11
2020-07-18Add AllowDenyLists cog.Gravatar Leon Sandøy-0/+145
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+.
2020-07-18Make the cache more convenient to access.Gravatar Leon Sandøy-1/+13
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.
2020-07-18Bulletlist with valid file types in converter.Gravatar Leon Sandøy-2/+2
2020-07-18Better BadArgument exception text.Gravatar Leon Sandøy-2/+3
2020-07-17Kaizen: Make error_handler.py more embeddy.Gravatar Leon Sandøy-7/+25
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.
2020-07-17Add ValidAllowDenyListType converter.Gravatar Leon Sandøy-1/+27
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.
2020-07-17Cache AllowDenyList data at bot startup.Gravatar Leon Sandøy-0/+7
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.
2020-07-17Kaizen: Move OffTopicName to converters.py.Gravatar Leon Sandøy-29/+28
2020-07-16Bugfix: Show ID for embed DM relays, too.Gravatar Leon Sandøy-1/+1
2020-07-15Oops, these prints shouldn't be here.Gravatar Leon Sandøy-3/+0
https://github.com/python-discord/bot/issues/1041
2020-07-15How did that except except block get in?Gravatar Leon Sandøy-3/+0
Weird. https://github.com/python-discord/bot/issues/1041
2020-07-15Create a UserMentionOrID converter.Gravatar Leon Sandøy-1/+24
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
2020-07-15Ves' refactorGravatar Leon Sandøy-15/+16
Co-authored-by: Sebastiaan Zeeff <[email protected]>
2020-07-15Add some stats for DMs sent and received.Gravatar Leon Sandøy-0/+3
https://github.com/python-discord/bot/issues/1041
2020-07-15Add the user ID to the username in dm relays.Gravatar Leon Sandøy-1/+1
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
2020-07-15Restore DM user caching.Gravatar Leon Sandøy-6/+22
This reverts commit 042f472a
2020-07-15Pass processed string to `extractBests`Gravatar kosayoda-2/+2
Fixes a regression where the string to be matched was not processed beforehand.
2020-07-15Document new kwarg in docstringGravatar kosayoda-0/+2