SeshBot2026.11

The cog round: cases, a warning ladder, incident cards, twelve new detectors

Every SeshBot cog was checked against the current Discord library and the four that matter most for safety were rebuilt. Moderation keeps a record, anti-insider undoes the damage, AutoMod catches today's scams, and the audit log names who did it.

This is the biggest SeshBot release since launch, and it is live in every server now. It took the whole of the last week: every one of the 23 cogs was read against nextcord 3.2, the floor was fixed everywhere (nothing blocks the bot while it waits on the database, nothing fails silently any more), and the four cogs that keep a server safe were rewritten. Three independent reviews went over the result before it shipped.

Six stat tiles: 516 tests passing from 307; 46 top-level commands from 68; 36 bugs caught before release; 13 AutoMod detectors from 4; 12 anti-insider detectors from 5; 0 silent failures left.
Measured at each end of the round, not estimated.

Moderation keeps a record

Until now a ban was a ban and then it was gone. Every moderation action is now a numbered case: who, whom, why, for how long, and every edit since. Bans, kicks, timeouts, temp bans, warnings, locks, purges and AutoMod actions all write one, whether they came from a slash command, a right-click, the dashboard or the bot itself.

  • /warn exists, with a ladder. By default the 3rd active warning is a one-hour timeout, the 5th a day, the 7th a kick. Warnings expire after 90 days. AutoMod hits climb the same ladder, so a filter hit and a manual warning count together.

  • /history @member lists everything on a member. /case view 418 shows one case; /case reason and /case lift change or undo it. /note keeps staff-only notes a member never sees.

  • A mod log channel. /modlog channel #channel and every case arrives as a card with History, Edit reason, Lift and Why? buttons.

  • The member is told. Punishing actions DM the member the reason, the duration and an Appeal button. Appeals land on the case and in the mod log. /modlog dm false turns the DM off.

  • Right-click. On a member: Warn, Timeout 10 min, History. On a message: Report to staff, Delete and warn.

  • New commands: /lock, /unlock, /slowmode, /softban. /purge takes a member and a phrase. /ban can delete the last 1h, 1d or 7d of messages. /timeout takes 10m, 1h30m, 2d.

  • /nuke asks first. It used to clone and delete the channel on one click.

Eight steps: action, case, mod log card, member told, ladder, review inbox, /history, dashboard.
One record for every action, wherever it came from.
Permissions changed

/ban needs Ban Members, /kick Kick Members, /purge Manage Messages. All three used to need Administrator. Tighten or loosen any command under Server Settings → Integrations → SeshBot. /mute and /unmute are retired; /timeout and /untimeout do the same thing.

Anti-insider undoes the damage

Nukes rarely start with deleting channels. They start with a bot invite or a role grant, which used to pass unnoticed. Anti-insider now covers the whole playbook and, when it trips, it posts one incident card instead of a stream of alerts.

  • Twelve detectors. Channel deletes, role deletes, permission rewrites, webhooks and bans as before, plus mass kicks, dangerous role grants, unknown bots with dangerous permissions, server renames and icon changes, emoji and sticker wipes, bulk message deletes and repeated @everyone.

  • One incident, one card. Everything one person does inside three minutes is one incident. The card shows what was lost, what was restored and what was done to the actor, with Lift lockdown, Restore the rest, Full report and False alarm buttons. The owner is DM'd once per incident.

  • Raid mode. Enough joins at once, or a burst of brand-new accounts, pauses invites, raises the verification level, withholds the join role and tightens the verifier. One button bans or kicks everyone who joined during it. It ends itself after fifteen quiet minutes.

  • Trusted list and log-only mode. /antiinsider trust add @co-owner for people never acted on; /antiinsider dryrun true records incidents without touching anyone while you tune thresholds.

  • Lockdown can be lifted, and it puts every channel back the way it was, even after a restart.

  • A weekly report of channels and roles added, removed or re-permissioned, posted to the alert channel.

AutoMod catches today's scams

  • New detectors: QR codes in images (the current token-theft scam), mention floods, caps, emoji floods, newline floods, zalgo text, invite links, repeated messages and sticker spam. Blocked words now match leetspeak (fr33 n1tro) and spaced-out spelling.

  • Heat instead of a counter. Every message warms a member a little, signals warm them more, and it cools over time. A slow spammer gets caught; a fast typist in a busy chat does not. Your spam threshold and window are the preset.

  • Channel profiles. /automod profile #memes media, #verification strict, #staff staff, or off. Make your own profiles on the dashboard.

  • Log-only rules. /automod logonly caps true records hits without acting, so you can try a rule for a day first.

  • Discord's own AutoMod. /automod native true mirrors your word list and mention limit into Discord AutoMod, which blocks a message before it ever posts.

  • Every action is a case with a Why? button listing the rule, the match and the heat at the time.

The audit log names who did it

  • Channel, role, emoji, sticker, thread, invite, server and member changes name the person and their stated reason, every time.

  • New events: threads, stickers, scheduled events, stages, Discord AutoMod actions, member timeouts and integrations. 31 listeners, up from 19.

  • Routing: /logs route voice #voice-log sends one category to its own channel. Daily digest: /logs digest true 9. Retention per category for the database copy.

  • Attachments of deleted messages are re-uploaded with the log entry when Discord still has them.

  • /manage_logging is now /logs setup, with native channel pickers.

A shorter command list, and /help

Paired bars: tests 307 to 516, AutoMod detectors 4 to 13, anti-insider detectors 5 to 12, audit events 19 to 31, commands with permissions 13 to 46.
Fewer commands, more capability.

68 flat commands became 46 entries. Admin tooling moved into groups (/levels, /ai, /backup, /tickets, /reactionroles, /roles, /punish, /logs, /automod, /antiinsider) and member commands got short names: /rank, /top, /streak, /ask. Every command declares who may use it, so Discord hides what you cannot run instead of the bot saying no afterwards. The full tree with each command's permission is at seshbots.com/commands.

And there is finally a /help. It is built from the live command list and filtered to what you can run, with a picker per area. /help command:case explains one command. Install SeshBot to your account and it works in DMs too.

On the dashboard

  • Moderation: Cases, Review and Incidents tabs, the warning ladder and the mod-log channel.

  • AutoMod: every detector with its limit, heat explained in its own numbers, log-only rules, channel profiles and an editor for your own, the Discord AutoMod mirror.

  • Anti-insider: all twelve detectors, bot additions, the trusted list, log-only mode, owner DM, the weekly report, raid mode and the incident list.

  • Settings: audit log routing and retention per category, the daily digest, salvaged attachments.

Under the hood

Every database call made from the bot's event loop now runs in a thread, so a slow database round trip can no longer stall every server at once. 143 swallowed errors say what they swallowed. 32 print() calls became log lines. Every cog loads in a test before a deploy is allowed, and the test suite grew from 307 to 516. Two bugs that had been there for months came out in the wash: ticket auto-close never actually ran (it looked the server up by the wrong type of id), and the nightly database backup had been quietly failing for three days. Both are fixed.

Something off?

Run /antiinsider diagnose to see what the bot can and cannot do in your server, and tell us in The Sesh Shed. Every setting above has a safe default and can be tuned on the dashboard.

Want these in your server? Run /changelog in Discord and subscribe a channel. Every change

Cookie preferences