Modules
AutoMod & Anti Spam
Rule presets, account filters, flood and duplicate detection.
Auto Mod reads each message as it arrives and decides, rule by rule, whether it stands. Nothing is filtered until you add a rule, so a server that has switched the module on and added nothing behaves exactly as it did before.
Rules are added and tuned from Auto Mod in /botdashboard, or from the Moderation Suite on your server's dashboard, and every one of those pages has a plain sentence that does the same edit.
Or just tell the bot#
dispresso use the balanced preset
dispresso block invites
dispresso add scam and scum to the banned words
dispresso block links to bit.ly and tinyurl.com
dispresso act after 3 hits in 15 minutes for banned words
dispresso make invites a timeout
dispresso exempt @Trusted from the caps rule
dispresso what automod rules do we have
make the automod logs go to #automod-log
turn off automodA preset, one rule on or off, its word and link lists, a strike threshold, what it does when it fires, and a role or channel exempted from it are all set this way, the same write a rule's detail page on the dashboard makes. Only the long word, pattern and domain lists stay easiest typed on the site: nobody wants to dictate a hundred words one at a time. Start with dispresso or mention it. It asks for anything it still needs, writes the same settings the dashboard writes, and the whole list of sentences is on Talk to Dispresso.
Start from a preset#
Presets are the quickest way to get from nothing to something sensible. Each one adds a set of rules you can then change or delete one at a time. Applying a preset never removes what you already have, and applying the same one twice does not duplicate anything.
| Preset | What you are agreeing to |
|---|---|
| Light touch | Deletes invites, known scam and link-grabber domains, and files posted by brand-new accounts. Nothing else. |
| Balanced | The above, plus mass mentions, shouting, and a kick for accounts Discord has already flagged as spam. It will delete the occasional legitimate invite. |
| High security | For a server being attacked right now. Invites get a timeout, scam links get a ban, accounts under a week old are kicked, and so are accounts with no profile picture. It will turn away real new members. |
The banned words rule arrives empty
Balanced and High security both add a Banned words rule, and its word list starts blank because only you know what your server does not want said. Until you fill it in on the site, that rule catches nothing. The word, pattern and domain lists are the one part that is edited on the site rather than in Discord: they are long text, and nobody wants to type a hundred words into a Discord box.
What a rule can look for#
Banned words, with a wildcard so sc*m catches scam and scum. A pattern, if you write those. Links, either a list you block or a short list of domains you allow and nothing else. Invites. Mass mentions. Shouting, measured as the share of letters in caps. Attachments from an account too young to be posting any.
Word matching folds the tricks people use to get past a plain search, so f.u.c.k, f u c k and fu(k are all the same word to it. Edits are read too, because posting something clean and editing the slur in afterwards is the oldest way around a filter.
Stopping accounts at the door#
Three of the checks never look at a message at all. They run the moment somebody joins, and judge the account rather than anything it has said: how old it is, whether it has a profile picture, and whether Discord has already flagged it as a spam account. A throwaway made an hour ago to post one image is stopped before the image exists. You can add any of the three on their own from the Presets page without taking a whole preset.
Usernames are the fourth join-time check. Give it a word list and a member whose name or display name contains one of them is dealt with on arrival.
What happens when a rule fires#
The message is deleted either way. Beyond that, each rule has its own answer: warn, time out, jail, kick or ban, so a slur and a stray invite link do not have to be treated the same. Set that in the rule's detail page under What it does when it acts.
A rule can also wait. Set it to act after three hits in fifteen minutes and the first two only delete the message, with the strike counted and then forgotten when the window runs out. A timeout, kick or ban from Auto Mod is written into the same case history as the one a moderator does by hand, so a member has one record rather than two systems disagreeing about what happened to them.
Two things it will always refuse to do
It never acts on the server owner, and it never acts on somebody whose highest role sits above Dispresso's. Move Dispresso above the roles you expect it to touch. A rule set to jail also needs the jail role named in Moderation; without one, the rule deletes the message and records that it could not do the rest.
Who is never filtered#
Anyone with Administrator, Manage Server or Manage Messages is skipped entirely. Policing the people who can already undo the thing a rule prevents is noise. On top of that, a rule can exempt named roles and channels of its own, and every channel or role on your Ignore lists is skipped by all of them, because telling Dispresso to stay quiet somewhere has to mean all of Dispresso.
Checking it is doing what you meant#
Recent catches, on the Auto Mod tab, lists what has tripped: the rule, the fragment it matched, who posted it and what was done about it. It is the fastest way to find the rule that is a little too keen. Switching the module off keeps every rule exactly where it is and simply stops checking.
Anti Spam, which is a separate switch#
Auto Mod judges one message. Anti Spam judges a burst, and starts switched off. It asks five questions about a member:
| It watches for | Out of the box |
|---|---|
| Flooding | 6 messages in 5 seconds |
| The same message over and over | 3 repeats in 30 seconds |
| Mass mentions in one message | 5 people or roles |
| Walls of emoji in one message | 12 |
| Attachment flooding | 5 files in 15 seconds |
Duplicates are the one worth understanding. An advert posted every ten seconds never trips a flood limit, because it is not fast. It trips this one, because it is the same.
The response climbs with how often somebody has tripped anything: a warning first, a ten minute timeout for the second trip, an hour for the third, and the count is forgotten after fifteen quiet minutes. Change any of those numbers, the actions, or the exempt roles and channels on the Anti Spam page.