From 97c4bfd28587ea07a9e9d233e32691509eee1608 Mon Sep 17 00:00:00 2001 From: latte Date: Sun, 25 Jan 2026 09:40:21 +0100 Subject: [PATCH] Reduce strike action timeout from 1 hour to 5 minutes - Updated strike level 3 timeout duration from 3600s (1 hour) to 300s (5 minutes) - Changes applied across models, config defaults, templates, schemas, and tests - Makes moderation system less harsh while maintaining discipline --- config/guilds/example-guild-123456789.yml | 2 +- config/schemas/guild-schema.yml | 2 +- config/templates/guild-default.yml | 2 +- src/guardden/config.py | 2 +- src/guardden/models/guild.py | 2 +- src/guardden/services/file_config.py | 2 +- tests/test_config.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/guilds/example-guild-123456789.yml b/config/guilds/example-guild-123456789.yml index 2f0668d..bdff1b8 100644 --- a/config/guilds/example-guild-123456789.yml +++ b/config/guilds/example-guild-123456789.yml @@ -39,7 +39,7 @@ settings: action: warn "3": # At 3 strikes: 1 hour timeout action: timeout - duration: 3600 + duration: 300 "5": # At 5 strikes: kick from server action: kick "7": # At 7 strikes: ban from server diff --git a/config/schemas/guild-schema.yml b/config/schemas/guild-schema.yml index ba401f7..a569896 100644 --- a/config/schemas/guild-schema.yml +++ b/config/schemas/guild-schema.yml @@ -124,7 +124,7 @@ properties: description: "Duration in seconds (for timeout/ban)" default: "1": {action: warn} - "3": {action: timeout, duration: 3600} + "3": {action: timeout, duration: 300} "5": {action: kick} "7": {action: ban} diff --git a/config/templates/guild-default.yml b/config/templates/guild-default.yml index ad1751f..d656964 100644 --- a/config/templates/guild-default.yml +++ b/config/templates/guild-default.yml @@ -38,7 +38,7 @@ settings: action: warn "3": # At 3 strikes action: timeout - duration: 3600 # 1 hour timeout + duration: 300 # 5 minute timeout "5": # At 5 strikes action: kick "7": # At 7 strikes diff --git a/src/guardden/config.py b/src/guardden/config.py index b4b67c7..b30239a 100644 --- a/src/guardden/config.py +++ b/src/guardden/config.py @@ -115,7 +115,7 @@ class GuildDefaults(BaseModel): strike_actions: dict = Field( default_factory=lambda: { "1": {"action": "warn"}, - "3": {"action": "timeout", "duration": 3600}, + "3": {"action": "timeout", "duration": 300}, "5": {"action": "kick"}, "7": {"action": "ban"}, } diff --git a/src/guardden/models/guild.py b/src/guardden/models/guild.py index 398aa5e..5bf2ffd 100644 --- a/src/guardden/models/guild.py +++ b/src/guardden/models/guild.py @@ -84,7 +84,7 @@ class GuildSettings(Base, TimestampMixin): JSONB().with_variant(JSON(), "sqlite"), default=lambda: { "1": {"action": "warn"}, - "3": {"action": "timeout", "duration": 3600}, + "3": {"action": "timeout", "duration": 300}, "5": {"action": "kick"}, "7": {"action": "ban"}, }, diff --git a/src/guardden/services/file_config.py b/src/guardden/services/file_config.py index dea2888..7e5b2c8 100644 --- a/src/guardden/services/file_config.py +++ b/src/guardden/services/file_config.py @@ -420,7 +420,7 @@ class FileConfigurationManager: "link_filter_enabled": False, "strike_actions": { "1": {"action": "warn"}, - "3": {"action": "timeout", "duration": 3600}, + "3": {"action": "timeout", "duration": 300}, "5": {"action": "kick"}, "7": {"action": "ban"} } diff --git a/tests/test_config.py b/tests/test_config.py index 87c3b3a..989236d 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -360,7 +360,7 @@ class TestSettingsGuildDefaults: defaults = GuildDefaults() assert defaults.strike_actions == { "1": {"action": "warn"}, - "3": {"action": "timeout", "duration": 3600}, + "3": {"action": "timeout", "duration": 300}, "5": {"action": "kick"}, "7": {"action": "ban"}, }