diff options
Diffstat (limited to 'pydis_site/apps')
| -rw-r--r-- | pydis_site/apps/api/migrations/0088_antispam_filter_list.py | 52 | 
1 files changed, 52 insertions, 0 deletions
| diff --git a/pydis_site/apps/api/migrations/0088_antispam_filter_list.py b/pydis_site/apps/api/migrations/0088_antispam_filter_list.py new file mode 100644 index 00000000..d425293f --- /dev/null +++ b/pydis_site/apps/api/migrations/0088_antispam_filter_list.py @@ -0,0 +1,52 @@ +from datetime import timedelta + +from django.apps.registry import Apps +from django.db import migrations + +import pydis_site.apps.api.models.bot.filters + + +def create_antispam_list(apps: Apps, _): +    """Create the 'unique' FilterList and its related Filters.""" +    filter_list: pydis_site.apps.api.models.FilterList = apps.get_model("api", "FilterList") +    filter_: pydis_site.apps.api.models.Filter = apps.get_model("api", "Filter") + +    list_ = filter_list.objects.create( +        name="antispam", +        list_type=0, +        guild_pings=["Moderators"], +        filter_dm=False, +        dm_pings=[], +        delete_messages=True, +        bypass_roles=["Helpers"], +        enabled=True, +        dm_content="", +        dm_embed="", +        infraction_type="mute", +        infraction_reason="", +        infraction_duration=timedelta(seconds=600), +        infraction_channel=None, +        disabled_channels=[], +        disabled_categories=["CODE JAM"], +        enabled_channels=[], +        enabled_categories=[], +        send_alert=True +    ) + +    rules = ("duplicates", "attachments", "burst", "chars", "emoji", "links", "mentions", "newlines", "role_mentions") + +    filter_.objects.bulk_create([filter_(content=rule, filter_list=list_) for rule in rules]) + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('api', '0087_unique_filter_list'), +    ] + +    operations = [ +        migrations.RunPython( +            code=create_antispam_list, +            reverse_code=None +        ), +    ] | 
