YourBot v0.0.35
Added
- Sentinel message log. Turn it on in Sentinel settings and deleted and edited messages are kept for your moderators with the text, the images and who deleted them. Purges become one entry with a transcript. A new Messages page under Monitor lets you search by channel, member, text and date, with CSV export for managers.
- Repeat offenders. Sentinel can now lengthen each automod timeout a member earns within a window, multiplied once per prior timeout up to a ceiling you pick. The maths is shown on the case. Off until you turn it on in Sentinel settings, with an option to apply it to moderator timeouts too.
- Anti-nuke. Sentinel now watches the audit log and alerts your moderators when one account mass deletes channels or roles, mass bans or kicks, spams webhooks, adds a bot, hands out dangerous permissions or changes the server name, vanity link or owner. Alert only, off until you turn it on under Monitor > Anti-nuke, with limits you can tune and accounts you can exempt. Opt in to a response too: remove the account's roles, quarantine, kick or ban it the moment an alert fires, and restore deleted channels and roles from hourly snapshots.
- Honeypot channels. Pick a channel members are told never to post in. Anything posted there is deleted and the account is banned, kicked, timed out or quarantined before any other rule runs. A button in Sentinel settings creates the channel for you.
- Link in Name. A new rule condition catches a server invite or a link in a username or display name. The built-in Advertising Accounts template kicks them on join.
- Word and nickname filters now catch look-alike letters, leetspeak, spaced-out words, markdown tricks and stretched letters. Every existing rule benefits. Untick the new box on a condition to match plain text only.
- Reaction floods. Set a limit in Sentinel settings and Sentinel removes an account's burst of reactions and, if you choose, warns or times it out. Attachment and image floods are a new rule condition.
- Fresh Domain Links. A new rule condition flags links to domains registered in the last 30 days, the mark of a phishing kit, with a ready template.
- Staff Impersonation. A new rule condition catches a member who joins or renames with a moderator's or the owner's name, a name one letter off or a copied avatar, with a ready template.
- Ban sync across your servers. Servers you own can share bans: flag, kick or ban on join when an account is banned on a sibling, and optionally copy Sentinel bans across.
- Temporary bans from the reports page. Ban now takes a length (1 hour to 30 days) next to permanent, and the unban is scheduled for you.
- Moderation done in Discord itself now counts. A ban, kick, timeout, server mute or server deafen a moderator places in Discord's own menus becomes a Sentinel case with that moderator as the actor and the reason they typed, so it shows in history, feeds risk and can be appealed. On by default, with a switch in Sentinel settings.
- Voice moderation. Rules can now server mute, server deafen, disconnect or move a member, and /voicemod does the same by hand: mute, unmute, deafen, undeafen, disconnect and move. Mutes and deafens can be timed and lift themselves. Each one is a case, and overturning a mute or deafen case lifts it.
Changed
- /timeout tells the moderator the applied length when the server escalates repeat offenders.
- /unban cancels a temporary ban's pending automatic unban and says so.
Fixed
- Nickname rules now post to the mod-log when they act.
- Rule bans, raid bans and platform-ban gate bans on the shared bot failed silently with a 400 from Discord. They now land.
- Overturning a temporary ban no longer leaves its timer to fail later on a member who is already free. The case page now shows cancelled reversals.
- A temporary ban lifted by hand before its timer ran is recorded as done instead of failed.
- Room names in Join-to-Create Voice Channels showed 1 for every room when the name used the room number.
- Locking or hiding a Join-to-Create room no longer wipes the rest of its @everyone permissions, so a custom allowlist survives.