Troubleshooting

Why nothing appears in the log, why the bot is silent in one server and not another, and why an allowlisted domain can still be flagged. Every case here has happened.

Every case here has actually happened, most of them to us. They are ordered by how often they turn out to be the answer.

Nothing appears in the log

Check the obvious one first: is a log channel set? Decisions are recorded either way, but without a channel you will not see them in Discord.

Then: was the message clean? A message that scored nothing produces no log entry by default. "Scored zero" and "never scanned" look identical from outside, which is why the setting exists to log clean scans too. Turn it on while you are tuning.

Then: who sent it? Staff are exempt by default. Owners, administrators and anyone with moderator permissions are not scanned at all, and exempt messages are not recorded unless you ask for them. If your own messages seem invisible, this is almost certainly why. Either test with an ordinary account, or turn on logging for exempt messages.

The bot has never said anything, anywhere

Conversation is off by default, on every plan. A server that installed an anti-scam bot did not ask for a chatbot, so nobody switches it on for you. Check the Conversation page in the dashboard.

If it is on and still silent, see the next entry.

The bot replies in one server but not another

Almost always configuration rather than a fault, because the same process serves both.

@mention it. Being mentioned or replied to is always answered, at any setting. If it responds to a mention, conversation works and the answer is below.

How much traffic has it actually seen? The dial that governs unprompted replies is a probability, not a promise: even at maximum, a borderline message gets an answer roughly one time in three. On a quiet server that can easily mean several days of silence with nothing wrong. A busy server looks healthier because it has rolled the dice more often, not because it is configured better.

Is the channel on the blocked list? Blocked-channel skips are deliberately not recorded, so they leave no trace anywhere.

Is the message long enough? There is a minimum length for unprompted replies, on the grounds that "ok" is not a conversational opening. It does not apply when the bot is addressed.

A domain I allowlisted is still being flagged

Check what was actually matched, in the log entry. If the matched text is a fragment rather than the domain, you are looking at a different rule that happens to match part of the link.

Check the entry itself. It should be a bare host: example.com. Pasting a full URL works now and is trimmed on save, but an entry saved before that change may still be stored as a URL, in which case it matches nothing. Re-save it and it will be repaired.

Check the subdomain setting. An entry set to require an exact host does not cover help.example.com.

Check it is not also on the blocklist. Blocking always wins.

A rule is matching things it should not

Read the log entry: it names the rule and shows the text that matched. The usual causes, in order:

  1. The match type is too loose and the term is being found inside longer, innocent words.
  2. The rule needed scoping, not softening. A rule that is right in one channel and wrong in another wants a channel list.
  3. The pattern is broader than it looks. Test it in the playground against text that should not match, which is the test people skip.

Mark the bad hits as false positives from the log entry. That is how the dashboard learns which of your rules is actually the problem, and it also keeps the incident off the member's escalation history.

Enforcement does nothing to my moderators

The bot's role must sit above the member it is acting on. A bot with Ban Members cannot ban somebody whose highest role is above its own, and Discord does not warn you. Move the Wardnox role up.

Also worth checking: staff exemptions mean moderators are usually not scanned in the first place.

A rule stopped working on its own

It was probably paused for you. A rule matching a large share of traffic in a short window is switched to monitor mode automatically and your moderators are told, so a runaway rule cannot empty a channel while nobody is watching.

Fix the rule, then resume it.

Everything looks fine but nothing is being caught

Is the server still in monitor mode? That is the default, and it is deliberate. Check the log: entries saying what would have happened mean the engine is working and enforcement is simply switched off.

Are the permissions there? The status command reports anything missing. Deleting needs Manage Messages; timeouts need Timeout Members.

I need it to stop, right now

Emergency stop halts all enforcement while scanning and logging continue, so you keep the record. Lockdown is the opposite: it hardens everything during an attack, and is reversible.

Learn where both are before you need them. Nobody reads documentation during a raid.