Link-filter and spam-filter toggles in the dashboard wrote to config keys the backend never read, so both filters always ran regardless of the switch. Fixed by reading the same field names on both sides. Also surfaces backend features that already existed but had no UI: caps filter, a custom bad-word list, a role whitelist (members with these roles are ignored entirely), and tunable spam thresholds/window/timeout. Each filter now shows its relevant settings inline instead of hiding them in a separate generic panel. Adds two new detections: an invite-link filter separate from the general link filter, and mass-mention/raid protection with a configurable limit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>