Moderation & safety

Spam alerts

Catch hacked accounts and spam bots that post the same message across channels. Buddy deletes the spam, times the member out and alerts your staff.

Open in dashboard Updated Oct 21, 2026
On this page

Spam alerts stop the classic hacked-account attack: the same scam link pasted into every channel in a few seconds. When Buddy spots it, it deletes the spam, times the member out, records a warning and posts an alert for your staff, usually before most members have even seen it.

Before you start#

Permissions needed

Buddy needs these server permissions to act on spam:

  • Manage Messages in your channels, to delete the spam
  • Moderate Members (Timeout Members), to time the member out
  • Manage Roles, only if you use mute roles from the warn system

In your spam alert log channel it needs View Channel, Send Messages and Embed Links.

Buddy can only time out members whose highest role is below Buddy's own role, so keep Buddy's role near the top of Server Settings → Roles.

Members with the Manage Messages permission are never checked, so your staff can post announcements in several channels without setting it off.

Set it up#

Open Message filters in your dashboard

It's under Moderation in the sidebar. Scroll to the Spam alerts card.

Turn it on

Set Spam alerts to Enabled and pick a Detection mode (see below).

Tune the limits

The defaults (30 second window, 1 duplicate allowed, 10 minute timeout) suit most servers.

Choose where alerts go

Pick a staff-only Spam alert log channel.

Save

Click Save spam alerts.

Open spam alert settings

You can do the same thing from Discord: run /spamalert to open the spam alerts panel.

Settings explained#

SettingWhat it doesDefault
Spam alertsTurns spam detection on or off.Disabled
Detection modeSame Text Across Channels catches copy-paste spam. Any Message In Multiple Channels catches someone hopping between channels, even if each message is different.Same Text Across Channels
Time window (seconds)How far back Buddy looks at a member's recent messages (5–600).30
Duplicates allowedSame text mode: how many identical messages are allowed inside the window before Buddy acts (1–10).1
Channel thresholdAny message mode: posting in this many different channels (or more) inside the window counts as spam (2–20).3
Timeout (minutes)How long the member is timed out (0–4320, which is 3 days). 0 means Buddy only deletes the messages.10
Spam alert log channelWhere Buddy posts a 🚨 Spam Alert report for each incident.None

What triggers an alert#

Same Text Across Channels: a member posts the same text more times than Duplicates allowed within the window, and those copies are in more than one channel. With the default of 1, posting an identical message in two channels within 30 seconds triggers it. Repeating yourself in a single channel never does.

Any Message In Multiple Channels: a member posts in at least Channel threshold different channels within the window. The message text doesn't matter.

What Buddy does when it triggers#

  1. Deletes every message from the member that matched (same text mode) or that was posted in the window (any message mode).
  2. Records a warning for the member with the reason "Automatic mute from spam filter", with Buddy as the moderator. It counts toward their warning total.
  3. Adds your mute roles, if you set any.
  4. Times the member out for Timeout (minutes), unless that's 0.
  5. DMs the member to tell them why.
  6. Posts a case to your warn log channel (if you set one in the warn system).
  7. Posts a 🚨 Spam Alert report to your Spam alert log channel.

Commands#

/spamalert needs Manage Server. Run it with no options to open the spam alerts panel. Only you can see it, and every change saves straight away:

  • The Spam alerts on/off button, the Detection mode dropdown and the Log channel picker.
  • Tune detection opens a form for Matching posts allowed (1–10, same text mode only), Channels that trigger it (2–20, any message mode only), Time window (5–600 seconds) and Timeout (0–4320 minutes, 0 = no timeout).
  • A one-line summary of when spam alerts trigger with your current settings.

To change settings without the panel, run /spamalert with any of its options. Only the options you include change; the rest keep their current value.

/spamalert [enabled] [duplicates] [window_seconds] [timeout_minutes] [mode] [channel_threshold] [log_channel] Manage Server

Open the spam alert panel (or change settings directly with the options).

  • enabled true/false, optional — Turn spam alerts on or off.
  • duplicates number, optional — Allowed matching posts before action; lower catches spam sooner (ideal 1-3).
  • window_seconds number, optional — Time window checked for repeats; larger values catch slower spam waves (ideal 15-45s).
  • timeout_minutes number, optional — Timeout length after detection (0 disables timeout, ideal 5-60m).
  • mode text, optional — Detection mode: same text spam or any message channel-hopping. (Same text across channels, Any message in many channels)
  • channel_threshold number, optional — Only for any-message mode: trigger when user posts in this many channels (or more) in the window.
  • log_channel channel, optional — Channel to log spam incidents.
Note

Buddy checks it has View Channel, Send Messages, Embed Links, Manage Messages and Moderate Members in the channel where you run /spamalert. Run it in a channel where Buddy has all of these.

Examples#

A stricter setup for a server that gets raided often:

/spamalert enabled:True duplicates:1 window_seconds:45 timeout_minutes:60 log_channel:#mod-alerts

Catch fast channel-hopping instead of identical messages:

/spamalert enabled:True mode:Any message in many channels channel_threshold:4 window_seconds:20

What your staff see in the log channel:

Discord Buddy APP Today at 4:20 PM
🚨 Spam Alert

User: @HackedAccount

Channel: #general

Deleted Messages
3
Duplicates in Window
3
Channels in Window
3
Window (seconds)
30
Mode
same_text
Timeout (minutes)
10
Pick the right mode

Start with Same Text Across Channels. It almost never catches real members. Switch to Any Message In Multiple Channels only if spammers in your server vary their text, and keep the Channel threshold at 4 or more so active members chatting in a few channels aren't hit.

Troubleshooting#

Spam was deleted but the member wasn't timed out#

  • Check Timeout (minutes) isn't 0.
  • Buddy needs Moderate Members, and its role must be above the member's highest role.
  • Discord never lets bots time out the server owner or members with Administrator.

Nothing happens when I test it#

  • Test with an account that does not have Manage Messages. Staff are always skipped.
  • In same text mode, the copies must be in different channels, inside the Time window.
  • Make sure Spam alerts is set to Enabled and saved.

Some spam messages weren't deleted#

Buddy needs Manage Messages in every channel the spam landed in. Channels where it couldn't delete are listed under Bot errors on your dashboard home page.

No report in the log channel#

Pick a Spam alert log channel and check Buddy can Send Messages and Embed Links there.

Real members keep getting caught#

Raise Duplicates allowed (for example to 2 or 3), shorten the Time window, or raise the Channel threshold if you use any message mode.

Loading…