All posts

Moderation

How to catch spam bots with a Discord honeypot channel

Set a trap for spam bots and compromised accounts in Discord. A honeypot channel removes anyone who posts in it, wipes their messages and logs every catch.

Most Discord raids follow the same script. An account gets compromised or freshly farmed, it joins your server, and within seconds it dumps a scam link into every channel it can see. By the time a moderator notices, twenty channels are already polluted and half your members have seen the bait.

A honeypot flips that behaviour into a trap. You create one public channel that no real member has any reason to post in, tell everyone not to post in it, and let the bots walk straight into it. Skipper's Honeypot module deletes the message and removes the account before anyone else gets pinged.

Why a honeypot beats a filter

Word filters and link blockers are reactive, they only stop the exact scam text you thought of in advance. A honeypot doesn't care what the message says. Anything posted in the trap channel is enough, so a brand new scam campaign gets caught on day one with no rules to update.

It also works first. Spam bots usually iterate channels from the top of the list, so a honeypot placed near the top catches them before they reach general chat.

Where to find it

Run /config Category Moderation Honeypot, and toggle the module on.

Step 1: Build the bait channel

Make a public text channel with a name a bot would love and a member would never need: #free-nitro, #giveaway-claim, #trading, #nitro-drops. Drag it near the top of your channel list.

The one rule people get wrong: leave @everyone able to send messages in it. A locked channel catches nothing. The trap only works if the bot is allowed to post, and the warning message is what keeps real members out.

Then in the config, choose Channel and pick it. Skipper needs View Channel, Send Messages, Read Message History and Manage Messages there.

Step 2: Pick what happens to whoever bites

The Action setting decides the punishment:

  • Softban (the default, and the one to use) bans and instantly unbans, which removes the account and wipes its last 7 days of messages. A real member whose account was hijacked can rejoin once they've recovered it and changed their password.
  • Ban does the same, permanently.
  • Kick removes them but leaves their messages behind.
  • Mute is a 24-hour timeout, useful if you'd rather review catches yourself before removing anyone.

There's also a DM toggle, which tells the caught user what happened and why, so a genuine mistake isn't a mystery.

Step 3: Turn on logging and the whitelist

Set a Log channel and every catch is posted for staff: who it was, how old their account is, the action taken and exactly what they tried to send. That log is how you tell a real raid from a member who ignored the warning.

Add your staff roles to the Whitelist while you're there. Up to 25 roles and users can be ignored entirely, which mostly saves someone from softbanning themselves while testing.

Step 4: Leave the live message on

Skipper posts a live message in the honeypot channel the moment you set it, warning that anyone who types there will be removed. It carries a Caught button, and anyone can press it to see a private breakdown of the bans, softbans, kicks and mutes so far, plus when the last catch was.

Keep it enabled. It's the thing that makes the channel obviously a trap, which is what keeps false positives close to zero, and the running counter is a surprisingly good advert for your moderation.

Tips & gotchas

  • Don't hide the channel. Bots can only fall for a trap they can see.
  • Skipper's role must sit above the accounts it removes, and it needs Ban Members, Kick Members or Timeout Members depending on your action.
  • The honeypot channel and the log channel can't be the same channel.
  • Softban over ban unless your server is under active attack. Hacked accounts belong to real people.
  • Deny the ability to add reactions and threads in the channel too, so there's nothing to interact with by accident.
  • One honeypot is enough. Bots hit every visible channel, so a second one adds noise, not coverage.

See the Honeypot documentation for the full setting reference, or pair it with the warning system for the members who are only sort of a problem. Ready to set the trap? Add Skipper to your server and run /config.

Ready to try Skipper?

Add the all-in-one Discord bot to your server in seconds.

Add to Discord