Back to Scripts
Flood Protect
Add-on Version 1.0.0

Flood Protect

By EmmaS 24 July 2026 1 downloads 35 views
About this script

Script Details

Flood Protection helps keep your chatroom readable by automatically detecting members who repeatedly send the same message over and over in a short period of time.

When a user repeatedly posts the same message, Sentry will first issue a friendly warning asking them to stop. If the behaviour continues, the user is automatically muted for a short period. Once the mute expires, Sentry will unmute them automatically.

If the user continues flooding the room after being muted, Sentry escalates the action by temporarily banning them from the chatroom, helping to protect conversations without requiring constant staff intervention.

Flood Protection is fully configurable, allowing you to choose how many repeated messages trigger the protection, the time window used for detection, warning messages, mute and ban durations, and whether hosts and room staff should be ignored.

This script is designed exclusively for the NatterFly Sentry Next Generation Chat Manager and is not compatible with the original Enforcer client.

# --------------------------------------------------
# NatterFly Next Generation Chat Manager
#
# This script requires Sentry and is not compatible
# with the original Enforcer chat manager.
#
# Compatible with:
# ✔ Sentry v1.0+
#
# Not compatible with:
# ✖ Enforcer (Legacy)
# --------------------------------------------------
Full source

View Script

[script]
name = Flood Protect
author = EmmaS
version = 1.0
enabled = on

# --------------------------------------------------
# Detects repeated-message flooding.
#
# Example:
#   hi
#   hi
#   hi
#   hi
#
# First detection:
#   User receives a warning.
#
# Continued flooding:
#   Five-minute mute.
#
# Continued flooding after the mute:
#   User is banned from the room for 24 hours.
# --------------------------------------------------

[flood_protect]
enabled = on
ignore_staff = on

# Trigger when the same message is sent four times.
repeat_count = 4

# The repeated messages must occur within this period.
within_seconds = 15

# Ignore single-character messages.
minimum_message_length = 2

# Reset the warning if no further flooding occurs.
warning_reset = 30m

# Reset all offences after this period.
offence_reset = 24h

# -------- Initial warning --------

warning_1 = Easy there %nick%... there's no need to send the same message repeatedly.
warning_1_delay_ms = 1000

warning_2 = Please stop flooding the room and give everyone else a chance to chat.
warning_2_delay_ms = 3000

# -------- First offence --------

offence_1_message = Sorry %nick%, you continued flooding after being warned. You're taking a five-minute timeout.
offence_1_message_delay_ms = 2000

offence_1_action = mute
offence_1_duration = 5m
offence_1_action_delay_ms = 4000
offence_1_reason = Repeated message flooding after warning.

offence_1_unmute_message = The microphone has been handed back to %nick%... please don't wear it out!
offence_1_unmute_delay_ms = 0

# -------- Second offence --------

offence_2_message = Oh dear, %nick%... the five-minute timeout clearly didn't help.
offence_2_message_delay_ms = 2000

offence_2_final_message = You've continued flooding the room, so you're taking a 24-hour break.
offence_2_final_message_delay_ms = 4000

offence_2_action = ban
offence_2_duration = 24h
offence_2_action_delay_ms = 6000
offence_2_reason = Repeated message flooding after a warning and temporary mute.