Docs

From invite to a configured server in a few minutes.

Invite

Add Keroku to a server where you hold Manage Server. Slash commands appear at once. The invite asks for these 11 permissions and nothing more.

PermissionUsed by
View ChannelsReading channels it posts to or cleans up
Send MessagesModlog and log posts
Embed LinksEvery post is an embed
Read Message History/purge
Manage Messages/purge, automod deletions
Manage Channels/slowmode
Manage Roles/lock, /unlock, /lockdown
Kick Members/kick, escalation, raid protection
Ban Members/ban, /unban, escalation, raid protection
Timeout Members/timeout, /untimeout, escalation, automod
Manage ServerDiscord AutoMod rules for mentions and invites

Role position

Keroku can only act on members whose top role is below its own. Drag the Keroku role above every role it should moderate in Server Settings, Roles. It still refuses to act on the owner, on itself and on anyone above the person running the command.

Modlog and logs

Run /config modlog channel:#mod-log. Every case and cleanup entry is posted there. Keroku checks it can view the channel, send messages and embed links before it saves.

/config logs channel:#logs sets a second channel for message edits and deletes and member joins and leaves. Without it, none of those are posted. Message text in those posts needs the Message Content intent, which the bot operator turns on.

Warn escalation

A step runs an action when a member reaches an exact number of warnings. For example /config escalation add warnings:3 action:timeout duration:1d, then /config escalation add warnings:5 action:ban. Up to 10 steps, at 1 to 50 warnings. Timeouts need a duration, bans take an optional one, kicks take none. Escalation actions run the same checks as manual ones and create their own case.

Automod

Every rule is off until you turn it on. Members with Manage Messages, administrators and the owner are never checked, and bots are ignored.

RuleCommandDefault
Spam/config automod spam6 messages in 5 seconds
Duplicates/config automod duplicates3 times in 30 seconds
Links/config automod linksAllowlist, up to 50 domains
Mentions/config automod mentionsOff. Discord AutoMod rule
Invites/config automod invitesOff. Discord AutoMod rule

With /config automod timeout duration:10m, a member who trips a rule is also timed out, which creates a case. The two Discord AutoMod rules are named Keroku mention spam and Keroku invite links. Keroku edits only rules it created.

Raid protection

/config raid set enabled:true joins:10 seconds:10 minage:1d action:kick. When the join limit is reached inside the window, Keroku posts Raid detected to the modlog. With kick or ban it removes every member who joined in the window and every member who joins while the burst lasts, one case each. With lockdown it locks the server for the lockdown length, 15 minutes by default. With a minimum age set, younger accounts are kicked on join, or banned when the action is ban.

Durations

Units w, d, h, m and s, largest first, like 1d4h or 30m. At least 1 minute where a duration is an action length. Timeouts and temporary bans go up to 365 days.

Dashboard

The dashboard edits the same settings as /config, lists cases with their edit history, and shows pending timed actions. A temporary ban, a timed lock or a timed lockdown can be ended early from there; Keroku runs it within seconds, exactly as if it had expired. Changes reach the bot at once. Access needs Manage Server in the server, checked against Discord on every request.

When something fails

If Discord refuses or does not answer, nothing is recorded and the reply says so. If Discord applied the action but the case could not be saved, Keroku reverts the ban, unban or timeout and says it did. Kicks cannot be reverted; the reply says the kick happened without a case and gives a reference id.

What is stored

DataKept
Cases: server, number, action, member id, moderator id, reason, duration, timeForever
Reason edits: editor id, old and new reason, timeForever
Settings: channel ids, escalation, automod and raid settingsUntil changed
Pending timed actions30 days after they finish
Servers Keroku is in: id, name, icon, owner id, member countWhile Keroku is in the server
Dashboard logins: your Discord profile and server listUntil the login expires, at most 7 days
Dashboard activity: who changed which setting180 days

Message content is never written to the database. More in the privacy policy.