Features

Moderation and automod

Every action, by a moderator or by automod, opens a numbered case in one shared history, so “why was I banned?” always has an answer.

Moderation actions

  • /warn, /timeout, /untimeout, /kick, /ban and /unban each take a member and an optional reason, and open a case. A timeout takes a duration like 10m, 2h or 7d, up to Discord’s 28-day limit; a ban can also delete up to 7 days of the member’s messages.
  • The member gets a DM saying what happened and why (Dashboard → Moderation turns this off). Kicked and banned members are told before the action, while Guaca can still reach them. Lifting a timeout sends no DM.
  • With a mod-log channel set (/config mod-log), every case is posted there — automod’s as well as a moderator’s.
  • Guaca refuses to act on the moderator themselves, on Guaca, or on anyone whose top role is at or above Guaca’s, and says so rather than failing silently.
  • If Discord refuses an action, the reply and the mod log say so instead of pretending it happened, and a kick or ban DM that already went out is corrected.

# general

luig used /timeout

Guaca APP Today at 13:30
Timed out <@3>. Case #42.
Reason: link spam
The moderator’s reply.

# mod-log

Guaca APP Today at 13:30
Case #42 · timeout
Member
<@3>
Moderator
<@1>
Duration
2 hours
Reason
link spam
The same case in the mod log.

Purge

/purge bulk-deletes up to 100 recent messages in the channel, optionally only one member’s. Discord does not allow bulk-deleting messages older than 14 days, so those are left alone. A purge is always recorded as a case.

Reading the history

/cases privately shows the last ten cases, one member’s history, or a single case by number. Dashboard → Moderation has the full browser, with a filter by action and search.

Automod

Automod reads every message and deletes anything a filter catches. It starts switched off: /automod on to start, /automod show to see what is set. The filters below are prepared on a new server with the defaults shown.

FilterCatchesThresholdDefault
InvitesLinks to other Discord servers (discord.gg, discord.com/invite, discord.me).—On
ScamsCelebrity crypto and casino scams, scored — see below.Score, default 4On
MentionsMessages mentioning more people than the limit.Max mentions, default 5On
Cross-postingThe same link or attachment dropped into several channels in quick succession, image-only posts included. The earlier copies are deleted too.3 channels within 60 sOn
CapsShouting: messages of at least 12 letters that are mostly capitals.Percentage, default 80%Off
LinksAny http or https link.—Off
WordsYour own list, matched as whole words, ignoring accents.The listOff

Turn a filter on or off and set its threshold with /automod rule; set the word list with /automod words. Text inside code blocks is ignored by the links, caps and words filters.

How the scam filter scores

Banning a creator’s name would also delete every normal conversation about them, so the filter scores a combination instead: an impersonated brand or celebrity adds 2, each money lure (“promo code”, “free money”, “casino”, “dinero gratis”…) adds 1, and a link adds 2. At the default threshold of 4, “did you see MrBeast’s new video” is left alone, and “MrBeast free money promo code” with a link is caught. Known fake-casino domains are blocked outright, whatever the score.

“did you see MrBeast’s new video?”

MrBeast 2 = 2 < 4 · left alone

“MrBeast free money, use promo code GUACA → https://…”

MrBeast 2+ free money 1+ promo code 1+ a link 2 = 6 ≥ 4 · deleted
The same creator’s name in two messages. Only the one that adds up to an advert is deleted.

Exemptions

In Dashboard → Moderation, pick channels automod ignores and roles it never touches, such as your moderators or a links channel. The cross-posting limits are also set there.

What happens to a caught message

  • The message is deleted and a warn case is opened, credited to Guaca. It shows up in /cases, in the dashboard and in the mod-log channel, like any other case.
  • Escalation handles repeat offenders: after a number of hits within a window, Guaca warns, times out, kicks or bans. By default, 3 hits within an hour earn a 10-minute timeout. Change it with /automod escalation. The case, the mod-log entry and the DM the member gets all report the action Discord actually carried out — a refused ban stays a warn everywhere.
Automod needs Manage Messages to delete, and Timeout Members, Kick Members or Ban Members for the escalation you choose. Changes made with /automod can take up to a minute to apply.

Commands