StromDocs

Spam Protection

Spam Protection monitors new messages and applies configurable actions when a member crosses one of your detection limits. You can tune message volume and content filters, exclude trusted roles or channels, and review detection activity from the dashboard.

Setup

  1. Open the dashboard.
  2. Select your server and go to Moderation > Spam Protection.
  3. Enable the module.
  4. Set the message Time Frame and Threshold.
  5. Configure any additional content filters.
  6. Choose whether spam messages should be deleted and select an automatic punishment.
  7. Add ignored roles or channels if needed.
  8. Save the changes.

Spam Protection availability depends on the server’s plan.

Detection settings

SettingBehavior
Time FrameSliding look-back window used for message and duplicate counting. Choose from 1 to 60 seconds.
ThresholdTotal messages from one member within the time frame that trigger general flood protection. Choose from 3 to 20 messages.
Ignore BotsExcludes bot accounts from spam detection.
Cap ThresholdPercentage of uppercase letters that triggers the capitals filter. Messages with fewer than eight letters are not evaluated by this filter.
Min Account AgeFlags members whose Discord accounts are younger than the configured number of days. Set it to 0 to disable this filter.
Max EmojisTriggers when a message reaches the configured emoji count. Set it to 0 to disable this filter.
AttachmentsTriggers when a message reaches the configured attachment count. Set it to 0 to disable this filter.
Duplicate MessagesTriggers after the configured number of matching messages within the time frame. Set it to 0 to disable duplicate detection.

Any enabled filter can trigger the configured automatic action.

Duplicate-message matching

Improved in v1.2.1

Duplicate detection now counts only messages with the same normalized content key. Unrelated messages sent during the same time window do not increase the duplicate count.

Before creating the key, Strom:

  • Removes whitespace at the beginning and end of the message.
  • Replaces repeated whitespace with a single space.
  • Converts the content to lowercase.

For example, Read the rules, read the rules, and READ THE RULES share the same duplicate key. A different message does not count toward that key’s duplicate threshold.

The general Threshold remains separate. It counts all messages from the member during the time frame and can still detect rapid flooding even when every message contains different text.

Automatic actions

Choose one action to apply when Spam Protection triggers:

ActionBehavior
MuteTimes out the member for the selected duration.
KickRemoves the member from the server.
BanBans the member from the server.

Enable Delete Messages to remove messages from the active detection window. The dashboard also provides Keep Original Message when you want the triggering message to remain available.

Strom attempts to notify the member by DM. If Discord blocks the DM, Strom sends the notification in the channel when possible.

Exclusions

  • Ignore Roles excludes members who have any selected role.
  • Ignore Channels excludes activity in the selected channels.
  • Ignore Bots excludes Discord bot accounts.

Keep exclusions narrow. A broad ignored role or channel can allow disruptive traffic to bypass every enabled filter.

Permissions

The required Discord permissions depend on the configured actions:

FeatureRequired permission
Delete detected messagesManage Messages
Mute membersModerate Members
Kick membersKick Members
Ban membersBan Members
Send channel notificationsView Channel, Send Messages, and Embed Links

Strom’s role must be above the member’s highest role for member-level moderation actions.

Logs and statistics

The dashboard summarizes blocked, ignored, warned, and cleaned activity. Open Logging & Audits from the Spam Protection page to inspect the recorded moderation events and identify missing permissions.

Troubleshooting

Different messages trigger spam protection

Check the general Threshold. It detects message volume regardless of content. Increase the threshold or shorten the time frame if normal fast conversation is being flagged.

Repeated messages are not detected

Confirm that Duplicate Messages is greater than 1 and that the repeated messages occur inside the configured time frame. A value of 0 disables duplicate detection.

Detected messages are not deleted

Enable Delete Messages and confirm that Strom has Manage Messages in every monitored channel.

The punishment does not apply

Check the relevant moderation permission and move Strom’s role above the target member’s highest role. Discord server owners and members above Strom’s role cannot be moderated by the bot.

A trusted channel or role is still monitored

Confirm that the channel or role is selected under the corresponding ignore control, then save the configuration again.