aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | | | | | | Merge branches 'patreon' and 'patreon' of ↵Gravatar mathstrains212021-10-27-7/+55
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/mathstrains21/bot into patreon
| | | * \ \ \ \ \ \ \ Merge branch 'python-discord:main' into patreonGravatar mathstrains212021-10-27-7/+55
| | | |\ \ \ \ \ \ \ \
| | * | | | | | | | | | Remove obvious type hintsGravatar mathstrains212021-10-27-17/+17
| | |/ / / / / / / / /
| | * | | | | | | | | Add patreon commandGravatar mathstrains212021-10-27-0/+13
| | | | | | | | | | |
| | * | | | | | | | | Add monthly patrons listGravatar mathstrains212021-10-27-2/+15
| | | | | | | | | | |
| | * | | | | | | | | Add patrons commandGravatar mathstrains212021-10-26-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add function to send the current supporters Add a command to call this function
| | * | | | | | | | | Merge branch 'python-discord:main' into patreonGravatar mathstrains212021-10-24-1114/+1722
| | |\ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ Merge branch 'python-discord:main' into patreonGravatar mathstrains212021-09-25-146/+266
| | |\ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ Merge branch 'patreon' of https://github.com/mathstrains21/bot into patreonGravatar Alex Sittampalam2021-09-03-3/+12
| | |\ \ \ \ \ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ \ \ \ Merge branch 'python-discord:main' into patreonGravatar mathstrains212021-09-02-3/+12
| | | |\ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | Add patron message when someone gains a patron roleGravatar Alex Sittampalam2021-09-03-1/+57
| | |/ / / / / / / / / / / /
| | * | | | | | | | | | | | Create `patreon.py` and add setupGravatar Alex Sittampalam2021-09-02-0/+19
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Add patreon role configurationGravatar Alex Sittampalam2021-09-02-0/+9
| | | | | | | | | | | | | |
| | | | | | | | | | | * | | use tldextract for a correct url decompositionGravatar Amrou Bellalouna2022-09-28-5/+5
| | | | | | | | | | | | | |
| | | | | | | | | | | * | | check for the url existence in the final_urls setGravatar Amrou Bellalouna2022-09-28-1/+1
| | | | | | | | | | | | | |
| | | | | | | | | | | * | | collect all urls in a set to avoid duplicatesGravatar Amrou Bellalouna2022-09-28-2/+3
| | | | | | | | | | | | | |
| | | | | | | | | | | * | | transform urls matched in messagesGravatar Amrou Bellalouna2022-09-28-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add the transformed urls to the set to account for the way discord renders relative urls in cases like Twitter's
| | | | | | | | | | | * | | add remove_subdomain_from_url in bot util helpersGravatar Amrou Bellalouna2022-09-28-0/+12
| | |_|_|_|_|_|_|_|_|/ / / | |/| | | | | | | | | | |
| | | | | | | | | | | * | Return None instead of False in try_get_tagGravatar wookie1842022-09-19-1/+1
| | | | | | | | | | | | |
| | | | | | | | | | | * | Check for commands being None in try_get_tag and try_silenceGravatar wookie1842022-09-10-1/+9
| | | | | | | | | | | | |
| | | | | | | | | | | | * Make changes requested in reviewGravatar wookie1842022-10-09-3/+5
| | | | | | | | | | | | |
| | | | | | | | | | | | * Use scoring system that weights age and number of entriesGravatar wookie1842022-10-09-128/+1375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new tests for this behaviour, and added pytest-subtests dev dependency
| | | | | | | | | | | | * Move tests out of moderation/ directoryGravatar wookie1842022-10-09-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I didn't mean to put them there in the first place
| | | | | | | | | | | | * Rename test function and re-add change removed in merge.Gravatar wookie1842022-09-19-2/+2
| | | | | | | | | | | | |
| | | | | | | | | | | | * Merge branch 'main' into update-autoreview-systemGravatar wookie1842022-09-19-1748/+809
| | | | | | | | | | | | |\
| | | | | | | | | | | | * | Change f-string to normal stringGravatar wookie1842022-09-19-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: ChrisJL <[email protected]>
| | | | | | | | | | | | * | Fix testsGravatar wookie1842022-08-07-4/+3
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Fix enabling/disabling of task loopGravatar wookie1842022-08-07-8/+23
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Write tests for reviewerGravatar wookie1842022-08-07-0/+153
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Fix message detection and remove unused parameterGravatar wookie1842022-08-07-9/+6
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Dont await tasks.loop methodsGravatar wookie1842022-08-06-3/+3
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Make handling of reviews over multiple messages more robustGravatar wookie1842022-08-06-3/+8
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Remove now unused scheduler from talentpoolGravatar wookie1842022-08-06-66/+4
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | Implement new autoreview system.Gravatar wookie1842022-08-06-16/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now supports: - limiting number of active reviews - limiting minimum time between reviews Order of review is based on number of nomination entries, and age of nomination.
* | | | | | | | | | | | | | Add webhook filterGravatar mbaruh2022-10-23-5/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a way to add custom coroutines to the context, to execute when the filtering result is actioned.
* | | | | | | | | | | | | | Add everyone filter, fix invite filteringGravatar mbaruh2022-10-22-110/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add the everyone filter, from a new class of filters - UniqueFilter. These filters should only be run once per context. These filters can modify any part of their behavior, including which events they respond to. - The invite filtering had a bug where it could exit early when the context wasn't a valid whitelisting context (which usually means that any unkown filters are allowed), despite there possibly being blocked filters which require addressing.
* | | | | | | | | | | | | | Add a command to query filters by settingsGravatar mbaruh2022-10-17-55/+563
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Change override handlingGravatar mbaruh2022-10-16-114/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Settings class is now a subclass of dict as well. SettingsEntry's now store which fields are overrides in case the entry is not empty. If there is a overridden value and a non-overridden value in the same entry, the non-overridden value will now correctly be the default instead of staying empty. Additionally fixes bugs with free list input parsing.
* | | | | | | | | | | | | | More improvements to FilterListGravatar mbaruh2022-10-15-89/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Methods that work with only a specific list type are moved to AtomicList. FilterList is now a subclass of dict, since that's what it is.
* | | | | | | | | | | | | | Add filter matching commandGravatar mbaruh2022-10-11-51/+83
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Better API error handlingGravatar mbaruh2022-10-11-13/+27
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Add confirmation before filter deletionGravatar mbaruh2022-10-11-35/+39
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Rearrange FilterList classGravatar mbaruh2022-10-11-99/+153
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Filter list add commandGravatar mbaruh2022-10-11-25/+189
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Add filter list edit commandGravatar mbaruh2022-10-10-144/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UI is a simplified version of the filter UI. In fact the two views now use the same base class. Also fixes a bug in filters with displaying the correct value in the embed for filter settings.
* | | | | | | | | | | | | | Rearrange UI into several modulesGravatar mbaruh2022-10-10-326/+344
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Added filter list deletion command.Gravatar mbaruh2022-10-10-3/+84
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Add filter template optionGravatar mbaruh2022-10-09-26/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An option is added to filter add and edit to copy the overrides over from another filter.
* | | | | | | | | | | | | | Ignore overrides that are equal to their defaultsGravatar mbaruh2022-10-08-23/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an override is added that is equal to the default, it is ignored instead. If an override is read from a Filter object that is equal to its default, it is ignored instead. This is done because otherwise when a setting shares an entry with an overriden setting (e.g infraction_type with infraction_duration), there's no way of knowing whether it was truly overridden, since None values are not preserved for filters on loading (that is because the same pydantic models are used for both the filter and filter-list settings). This seems like an acceptable trade-off since overrides which are equal to their defaults don't have a practical use. Addiotionally, this commit fixes not being able to set an empty string as an override to a non-empty default.
* | | | | | | | | | | | | | Fix pings validationGravatar mbaruh2022-10-08-3/+3
| | | | | | | | | | | | | |