Files
EchoHub/docs/auriondocs/Code/src/EchoHub.Server/Config/SpamOptions.cs.md
T
Hue 607217b314 docs: Update documentation for 145 files
Generated by AurionDocs
Job ID: 934f8c39-8082-4942-8d17-72ed8f5f8d50
Source commit: 40aea9a
2026-07-23 11:44:20 +02:00

1.5 KiB

SpamOptions

File: src/EchoHub.Server/Config/SpamOptions.cs
Kind: class

public sealed class SpamOptions

SpamOptions is a configuration class bound to the 'Spam' config section that stores all anti-spam thresholds. It centralizes rate limits, duplicate suppression, auto-mute behavior, and onboarding quotas so enforcement logic can apply consistent rules; adjust these values here rather than hard-coding them throughout.

Remarks

SpamOptions acts as the configuration contract for anti-spam behavior. It centralizes all thresholds so the enforcement and moderation subsystems can apply consistent rules without hard-coded values scattered through the codebase. It coordinates rate limiting, duplicate suppression, auto-mute behavior, and first-join/channel-creation limits via a single, testable object that can be configured at startup.

Example

var options = new SpamOptions
{
    Enabled = true,
    MaxMessagesPerWindow = 12,
    WindowSeconds = 10,
    MaxDuplicateMessages = 2,
    AutoMuteMinutes = 10,
    ViolationThreshold = 6,
    ViolationWindowMinutes = 3,
    MaxJoinsPerWindow = 30,
    JoinWindowSeconds = 20,
    MaxChannelCreatesPerWindow = 2,
    ChannelCreateWindowMinutes = 15
};

Notes

  • Auto-mute is disabled when AutoMuteMinutes is 0; rejections still apply.
  • The first-join burst behavior relies on MaxJoinsPerWindow being large enough for your public channel count.
  • These values are loaded from the config and may be adjusted to balance user experience against protection needs.