A honeypot is a channel nobody legitimate writes in. Spam bots and hijacked accounts do not read — they post the same scam link into every channel they can see. Whoever writes in the honeypot is punished automatically: banned, kicked or timed out, whichever you choose.
| License | Premium |
| Set up in | The dashboard only — there are no slash commands |
| Honeypots per server | up to 5 |
| Punishments | Ban (permanent or up to 365 days), kick, timeout (up to 28 days) |
You create a honeypot in the dashboard. Within seconds Cloudy sets up the channel and posts a warning in it, so real members know to stay out:
⚠️ Honeypot Anyone who writes in this channel is banned permanently automatically. This channel is a trap for spam bots and hijacked accounts. Please do not post here.
Once that warning is up — and only then — every message posted there goes through the same steps:
Only the honeypot channel itself counts. A thread opened inside it is not part of the trap, and messages by bots, webhooks and Discord's own system messages are ignored.
When you create a honeypot, you choose one of two ways to get the channel. The choice is fixed afterwards; to move a honeypot, delete it and create a new one.
Cloudy creates a text channel for you, with the name you enter (up to 100 characters, default
honeypot), in the category you pick or at the top level. Discord shows text channel names in
lowercase with dashes instead of spaces.
The channel gets no permissions of its own: it takes over the category's, exactly like a channel you create by hand. Everyone who can see the category can see — and write in — the honeypot. Its topic tells people not to post there. If the category has been deleted by the time Cloudy creates the channel, it is created at the top level instead.
Pick a text channel you already have — an old, unused one works well. Messages already in it stay; only new ones are punished. Announcement channels, forums and voice channels cannot be honeypots: members cannot simply post into them, which is what the trap relies on.
Each channel can hold only one honeypot.
| Action | What happens |
|---|---|
| Ban | Removed and cannot come back. Permanent, or temporary for 1 minute to 365 days |
| Kick | Removed, but can rejoin with a new invite. Has no duration |
| Timeout | Stays in the server but cannot write, react or speak. Requires a duration, 1 minute to 28 days — Discord's own limit |
The duration is entered as a number plus a unit — minutes, hours or days.
A temporary ban is lifted automatically when it runs out, by the same mechanism as
/tempban: it keeps working even if you switch the plugin off,
and a ban or unban done by hand in Discord in the meantime ends it early.
Ban only. Discord additionally removes everything the member posted in the chosen window — the last hour by default, up to 7 days — in every channel, which is the cleanup after a spam run. For a kick or a timeout only the message in the honeypot is deleted.
A punishment works exactly like one a moderator hands out:
/case, /modlogs and the DM, in the dashboard's language in its case
history, with the honeypot named as the moderator everywhere. Discord's own audit log records the
reason in English.The dashboard counts how many members each honeypot caught, and when it last did.
These members can write in a honeypot without consequence, and their message is left alone:
So staff can post in the channel — to answer a question, or to test the setup — without banning themselves. To see the trap work, use a test account without any of the above.
Spam rarely comes as a single message. Once a member has been caught, further messages from them in the same server within a minute are only deleted — they are punished once, not once per message.
A member who has already left by the time Cloudy acts is still banned (a ban works by user ID); a kick or timeout is not possible then, so only their message is deleted.
Leave the text empty and Cloudy posts its default warning in your server's language, which states plainly what happens: "Anyone who writes in this channel is banned for 7 days automatically."
Or write your own, up to 1000 characters. {action} is replaced with the punishment in your
server's language:
This channel is off limits. Write here and you will be {action}.
becomes "… you will be timed out for 1 hour." Markdown works as in any Discord message — write
**{action}** to have the punishment in bold. An edit is applied to the warning that is already
posted; if someone deletes the warning, Cloudy posts it again.
Any change to a honeypot — punishment, duration, exempt roles, text — takes effect together with the updated warning, usually within a second or two. Until the warning shows it, the honeypot punishes nobody, so a member is never punished under a warning that names a different punishment. If Discord keeps refusing the update (for example because Cloudy lost Send Messages there), the honeypot stays inactive and the dashboard shows updating warning… on it.
Each honeypot has its own Armed switch. A paused honeypot punishes nobody and deletes nothing; its warning stays in the channel. Switching the whole plugin off has the same effect on every honeypot — and while it is off, Cloudy also creates no new honeypot channels and posts no warnings. Those follow as soon as you switch it back on.
Delete it in the dashboard. What happens to the channel depends on how it was made:
| Honeypot | On delete |
|---|---|
| New channel (created by Cloudy) | The channel is deleted, with everything in it |
| Existing channel | The channel stays; Cloudy only removes its warning message |
Either way, punishments already handed out stay in place — a ban is not lifted because its honeypot is gone. The cleanup also runs with the plugin switched off or the license expired.
Deleting the channel directly in Discord removes the honeypot as well. Deleting only the warning message does not: Cloudy posts it again, also when it was deleted while Cloudy was offline. Until the warning is back — usually within a minute — the honeypot punishes nobody, so no one is ever caught by a channel that does not warn them.
| Cloudy needs | For |
|---|---|
| Manage Channels | Creating a new honeypot channel, and deleting it again |
| View Channel, Send Messages, Embed Links, Read Message History | Posting and maintaining the warning in the honeypot |
| Manage Messages | Deleting what gets posted there |
| Ban Members / Kick Members / Moderate Members | The punishment you chose |
The role hierarchy applies as well: Cloudy can only punish members whose highest role is below its own.
If Cloudy cannot carry out the punishment — the permission is missing, or the member ranks too high — it does not try. The message is still deleted (with Manage Messages), and the mod log gets one line saying who triggered the honeypot and why nobody was punished; at most one such line per honeypot per hour, so a raid does not flood your log. A channel or warning Discord refuses to create is retried later, not on every pass.