aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Verification: pause request execution after each batchGravatar kwzrd2020-08-14-4/+23
| | | | | | The Limit values are mostly assumptions, as this feature is very difficult to test at scale. Please see docstring amendmends for further information.
* Verification: adjust coroutines to use generic dispatchGravatar kwzrd2020-08-13-32/+11
|
* Verification: add `_send_requests` helperGravatar kwzrd2020-08-13-0/+30
| | | | | Generic request dispatch method to avoid code duplication with error handling & bad status logging.
* Verification: improve confirmation message handlingGravatar kwzrd2020-08-08-4/+10
| | | | | | | | | | Suppress errors coming from Discord when changing the confirmation message in case it gets deleted, or something else goes wrong. This commit also adds either the ok hand or the warning emoji to the edited message content, as with the guild syncer confirmation. Co-authored-by: MarkKoz <[email protected]>
* Verification: strip reminder message once and for allGravatar kwzrd2020-08-08-2/+2
| | | | Co-authored-by: MarkKoz <[email protected]>
* Verification: widen set type annotationGravatar kwzrd2020-08-08-2/+2
| | | | Co-authored-by: MarkKoz <[email protected]>
* Verification: only take reactions from core devsGravatar kwzrd2020-08-08-1/+3
| | | | Co-authored-by: MarkKoz <[email protected]>
* Verification: improve `is_verified` checkGravatar kwzrd2020-08-08-1/+1
| | | | | | This just reads better. Co-authored-by: MarkKoz <[email protected]>
* Verification: address member update race conditionGravatar kwzrd2020-08-07-8/+21
| | | | | | | | | | | In an edge case, the `_kick_members` and `_give_role` could act on a member who has verified *after* being marked by `_check_members` as unverified. To address this, we perform one additional check just before sending the request. Testing seems to indicate that the `discord.Member` instance get updates as appropriate, so this should at least reduce the chances of such a race happening to very close to nil.
* Verification: rename cache & document new useGravatar kwzrd2020-08-07-9/+15
|
* Verification: persist task settings in RedisGravatar kwzrd2020-08-07-3/+19
| | | | | | | | | | | If tasks are stopped manually, they will not automatically restart on cog reload or bot restart. Using `maybe_start_tasks` is necessary because we cannot interface with Redis from a sync context. We're using 1 and 0 because RedisCache does not currently permit bool values due to a typestring conversion bug.
* Verification: add command interface for task managementGravatar kwzrd2020-08-06-2/+60
| | | | | | | | | | Allow checking whether tasks are running, starting them, and stopping them. Currently, the tasks cannot be started or stopped separately. It is not believed that we would need such a level of granularity. Calling `cancel` on a task that isn't running is a no-op.
* Merge 'd.py' 1.4 bump from 'origin/master' branchGravatar kwzrd2020-08-06-79/+51
|\
| * Merge pull request #1093 from python-discord/discord.py-1.4Gravatar kwzrd2020-08-06-79/+51
| |\ | | | | | | Deps: update discord.py to 1.4.0
| | * Deps: update discord.py to 1.4.0Gravatar MarkKoz2020-08-06-79/+51
| |/ | | | | | | It was released on PyPI. No longer need to clone via git.
* | Verification: extend cog docstringGravatar kwzrd2020-08-06-1/+17
| |
* | Verification: make on-join message more accurateGravatar kwzrd2020-08-06-2/+4
| | | | | | | | | | | | | | It now explains that new users can only see a limited amount of public channels, and that there will be more once they verify. Co-authored-by: Sebastiaan Zeeff <[email protected]>
* | Verification: bump confirmation threshold to 1%Gravatar kwzrd2020-08-06-1/+1
| |
* | Verification: send DM to kicked membersGravatar kwzrd2020-08-06-0/+8
| |
* | Verification: enable role pingsGravatar kwzrd2020-08-06-2/+10
| |
* | Verification: disable burst shared filter in verificationGravatar kwzrd2020-08-06-1/+10
| | | | | | | | | | | | | | | | | | We will begin pinging users in the verification channel, prompting them to join. This can cause a surge of activity that may trigger the filter. A better solution would involve allowing per-filter channel config, but after internal discussion this is seen as unnecessary for now.
* | Verification: add stats collectionGravatar kwzrd2020-08-06-0/+28
| |
* | Merge master branch into kwzrd/verificationGravatar kwzrd2020-08-06-477/+803
|\| | | | | | | | | This adds the RedisCache #1090 fix, allowing us to use the cache to hold the ping task on start-up.
| * Guild invite regex: Add support for dashes in the invite codeGravatar Dennis Pham2020-08-05-1/+1
| |
| * Merge pull request #1087 from ↵Gravatar Dennis Pham2020-08-05-1/+14
| |\ | | | | | | | | | | | | python-discord/bug/backend/1080/cog-reload-cancel-scheduler Cancel scheduled tasks when cogs unload
| | * Merge branch 'master' into bug/backend/1080/cog-reload-cancel-schedulerGravatar Dennis Pham2020-08-05-16/+23
| | |\ | | |/ | |/|
| * | Merge pull request #1091 from python-discord/kwzrd/fix-1090Gravatar Dennis Pham2020-08-05-9/+8
| |\ \ | | | | | | | | RedisCache: remove erroneous `_redis` alias
| | * \ Merge branch 'master' into kwzrd/fix-1090Gravatar Dennis Pham2020-08-05-7/+15
| | |\ \ | | |/ / | |/| |
| * | | Merge pull request #1088 from python-discord/bug/util/1083/source-dynamic-objGravatar Mark2020-08-05-7/+15
| |\ \ \ | | | | | | | | | | Source: raise BadArgument for dynamically-created objects
| | * | | Source: remove redundant check for help commandsGravatar MarkKoz2020-08-04-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The code is identical to the else block and there's no reason for help commands to have an explicit check.
| | * | | Source: raise BadArgument for dynamically-created objectsGravatar MarkKoz2020-08-04-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commands, cogs, etc. created via internal eval won't have a source file associated with them, making source retrieval impossible. Fixes #1083 Fixes BOT-7K
| * | | | Revert "HelpChannels: use more reliable check for claimed channel"Gravatar kwzrd2020-08-05-1/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit 59c62162
| * | | | Merge pull request #1089 from python-discord/bug/help/1074/duplicate-claimGravatar kwzrd2020-08-05-1/+1
| |\ \ \ \ | | |/ / / | |/| | | HelpChannels: use more reliable check for claimed channel
| | * | | HelpChannels: use more reliable check for claimed channelGravatar MarkKoz2020-08-04-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the channel's category isn't reliable since it may take Discord a while to actually move the channel once it's received a request from the bot. I suppose using redis technically has the same problem, but it should be much faster and less susceptible to lag than Discord. Fixes #1074
| | * / Redis: remove erroneous `_redis` aliasGravatar kwzrd2020-08-05-9/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | If a RedisCache instance was being accessed before bot has created the `redis_cache` instance, the `_redis` alias was being set to None, causing AttributeErrors in lookups. See: #1090
| | * Cancel scheduled tasks when cogs unloadGravatar MarkKoz2020-08-04-1/+14
| |/ | | | | | | | | | | | | | | | | When cogs reload, they used new Scheduler instances, which aren't aware of previously scheduled tasks. This led to duplicate scheduled tasks when cogs re-scheduled tasks upon initialisation. Fixes #1080 Fixes BOT-7H
| * Revert "Disabled burst_shared filter temporarily"Gravatar Joseph Banks2020-08-04-0/+4
| | | | | | | | This reverts commit be14db91b1c70993773e67cfa663fef0cfa85666.
| * Merge pull request #1078 from python-discord/support_plural_filterlist_typesGravatar Dennis Pham2020-08-03-5/+17
| |\ | | | | | | Add support for plural FilterList types.
| | * Add support for plural FilterList types.Gravatar Leon Sandøy2020-08-03-5/+17
| |/ | | | | | | | | | | | | | | | | This will allow mods to use '!whitelist get guild_invites' in addition to '!whitelist get guild_invite' This is just a naive implementation which works if the plural form is a simple s at the end of the word. It's implemented into the converter.
| * Add some feedback to the _sync_data helper.Gravatar Leon Sandøy2020-08-03-7/+15
| | | | | | | | | | | | | | Previously, this would not provide any feedback at all, which is really terrible UX. Sorry about that. This also adds error handling in case the API call fails.
| * Move function params to 4-space indentation.Gravatar Leon Sandøy2020-08-03-2/+17
| |
| * Merge pull request #1058 from python-discord/whitelist_systemGravatar Leon Sandøy2020-08-03-460/+727
| |\ | | | | | | FilterLists: Manage whitelisting and blacklisting via the bot
| | * Merge branch 'master' into whitelist_systemGravatar Leon Sandøy2020-08-03-135/+1821
| | |\ | | |/ | |/|
| | * Move function params to 4-space indentation.Gravatar Leon Sandøy2020-08-03-18/+18
| | |
| | * Change some errant single quotes to doubles.Gravatar Leon Sandøy2020-08-03-4/+4
| | |
| | * Adding a beautiful walrus to filter_lists.py.Gravatar Leon Sandøy2020-08-03-2/+2
| | | | | | | | | | | | Thanks @Den4200!
| | * Sort all load_extension groups alphabetically.Gravatar Leon Sandøy2020-08-03-5/+4
| | |
| | * Add more explicit feedback to failures.Gravatar Leon Sandøy2020-07-30-7/+17
| | | | | | | | | | | | | | | For deleting and listing data, we now get some more feedback when things fail.
| | * Dynamically amend types to filterlist docstrings.Gravatar Leon Sandøy2020-07-29-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.
| | * Make sure file formats have leading dots.Gravatar Leon Sandøy2020-07-29-0/+8
| | |