Documentation menu

Docs/Information/Changelog

Changelog

What changed, when - starting with everything the rewrite changed from classic HepBoat.

This page is the complete delta between classic HepBoat (the Python bot that served servers since around 2018) and the bot you are running now, kept current as new features land. Once the new bot fully launches, updates switch to dated entries here, newest first.

The rewrite, in full

HepBoat was rebuilt from the ground up - a complete rewrite of the bot and the dashboard on a modern stack. The ground rule for the port: your configuration and your muscle memory keep working. Every plugin, command, and config option was re-verified against the original bot, and existing server configs load unchanged. Everything below is what changed on top of that.

New ways to run commands

  • Slash commands, per server - pick exactly which commands appear as /commands in your server from the dashboard's Slash Commands page. Prefix commands stay primary and unchanged.
  • Right-click moderation - Timeout, Kick, Ban, Warn, and Delete and Warn straight from a message or member's context menu, with a reason form.
  • Confirm buttons - destructive commands (bans on absent users, nuke, role spray, purchases) ask for a button confirmation instead of firing immediately.
  • Personal replies are private - slash commands meant for one person (games, balances, rank-card settings, todo lists, help links) reply only to you instead of filling the channel.
  • Mentioning the bot as a prefix (@HepBoat ban ...) is no longer supported - use your text prefix or slash commands. A server with an empty prefix falls back to !.

New moderation tools

  • Native timeouts - timeout uses Discord's own communication timeout, tracked as a real infraction with the usual search/edit/expiry tooling, and untimeout removes one early with a logged reason.
  • The mobile mod panel - minfo posts a user summary with one-tap Warn / Timeout / Mute / Kick / Ban / Tempban / Softban / Untimeout / Unmute / Clean buttons, each opening a small reason form. Buttons only appear if you could run the matching command, and the apps mod-panel right-click menu gives you a fully private version - nothing shows in chat.
  • Manual raid lockdown - raid on [duration] starts the antiraid lockdown by hand (and raid off reports honestly when nothing was active); both directions are logged with the acting moderator.
  • Unbans are logged - every unban the bot performs (command, appeal, dashboard) now writes a mod log entry with the moderator and reason; manual unbans still log via the gateway event.
  • Level-ups can reply to the message that did it - each track's announcement block has a new reply option: when announcing in the channel where the XP was earned, the bot replies to the leveling message itself instead of posting a loose line.
  • XP is harder to farm - message XP cooldowns are randomized (like the old bot's), and rank cards, rank text, and leaderboards refresh on a short randomized delay instead of live, so members can't measure the exact award per message. Level-ups still show instantly, and servers can set display_delay_seconds: 0 for live numbers.
  • The coin leaderboard is findable again - the public richest-members page now links from the XP leaderboard (and back), and the Games page on the dashboard links straight to it. In Discord it has always been richest / baltop.
  • Auto-clean can zap bot messages too - a new "Also delete bot messages" toggle per auto-clean channel (off by default) makes the timer delete bot output as well, including the bot's own replies. An active sticky message is never deleted either way.
  • Per-command cooldowns - command overrides can now set a per-user cooldown in seconds (on the Access page or in the YAML), perfect for opening rank up in a general chat without the spam. Moderators are exempt, and members still on cooldown are told how long is left.
  • Command levels sort themselves - the Access page lists level entries highest first instead of the order they were added.
  • Flair buying is one tidy message - the flair buy / flair set pickers now resolve inside the picker itself (picking from the menu IS the confirmation), and on slash the whole flow is private to you.
  • The dashboard got its identity back - a full visual refresh: deep blue-black surfaces instead of flat gray, the brand blurple on every button and focus ring, and each section of the guild nav now carries its own color so you always know where you are - Setup is violet, Config is sky, Moderation is red, Community is green, Advanced is amber, Premium is gold.
  • Quarantine controls - cease/uncease lock and unlock send permissions on a channel or the whole server; shut/unshut do the same for voice.
  • muterole - one command sets up a Muted role and applies the deny overwrites across every channel.
  • Manual bans show up - bans placed by hand in Discord's UI appear in infractions search as native entries with Discord's stored reason.
  • Faster raid response - mban uses Discord's bulk-ban endpoint, and antiraid can raise a raid shield that pauses invites and DMs at the Discord level during a lockdown.
  • Purges leave a paper trail - clean and nuke archive what they delete, and nuke has a real cancel.
  • Nuke cleans out the whole channel again - a bare !nuke deletes up to 10,000 messages per run like the old bot (re-run for the next 10,000), with a confirmation showing the exact count first.
  • Everyone has a profile page - "My Profile" in the dashboard's user menu shows your HepBoat badges and lets you hide servers from your server list: the eye button on any server row hides it from your view only, and your profile is where you bring them back.
  • The log format preview renders like Discord - the custom-format builder's live preview now shows real bold/italic text, mention chips with your server's channel and role names, localized timestamps, and emojis - instead of the raw markup.
  • Fishing got a whole new ocean - servers can opt into an expanded catalog about five times the size, with new species in every rarity and a mythic tier that sells for thousands at truly tiny odds. Selling now keeps one of every species so your collection means something (fish sell all still cashes out completely), and somewhere out there swims the HepTrout Prime - catch it and you earn the global golden-fish HepTrout badge.
  • Reports can attach the message - paste a message link or ID into !report / the message option on /report and staff see the reported message highlighted in context, with the author's profile and one-click actions to delete it, softban, delete + ban, delete + kick, or kick + warn. Servers can require every report to attach a message.
  • Owners can wipe their config - the server owner (and only the owner) can reset the entire configuration back to the fresh-install template from the Config page. It is config-only (infractions, tags, and XP stay), and the old config lands in Config History so it can be restored.
  • Log lines lead with the person - the member an entry is about renders in bold in every default log format, so you can scan a busy log channel at a glance. Slowmode changes made through Discord's own channel settings now name who made them (when the audit log allows), and config-update entries use the same username style as every other line.
  • Per-server bot blacklist - blacklist add/remove/list (and a dashboard page) makes the bot fully ignore a user in your server while moderation systems still act on them.
  • /report - members report a message or user to your staff channel, with an optional role ping.
  • Modlog hush - hush/unhush temporarily silence the mod log without touching your config.

New plugins and features

  • Native AutoMod - Discord AutoMod rules managed from the dashboard, with executions and rule changes in your mod log.
  • Honeypot - trap channels that auto-action scambots the moment they post; the ban notice carries a one-click Unban for false positives.
  • Image scam scanning - teach the bot a scam image once and every recompressed or lightly-cropped copy is caught; optional OCR reads the text inside images against your existing filters. Ships with a shadow mode so you can watch before you trust it.
  • Leveling, rebuilt - MEE6-compatible XP curve, multiple tracks, role rewards, generated rank cards (with per-user customization and buyable flair), importers for MEE6/Lurkr/Polaris/Amari, and an opt-in public web leaderboard. Rank cards prefer your server nickname.
  • Games - a full per-server economy: daily streaks, work/crime/rob (with shields, protected roles, and an optional grave-robbing rule that guarantees heists against members who left or were banned), fishing, slots with a progressive jackpot, blackjack, coinflip duels, higher/lower, roulette, dice, horse racing, rock-paper-scissors, parimutuel server bets, member payments, a role shop, and rank-card flair (catalog frames, your own custom gradient frames, and an opt-in rainbow Pride frame). Every game individually tunable; bets survive crashes. Game activity plays out publicly in the channel; errors, receipts, and personal browsing answer privately.
  • Music - queue-based playback with a DJ role, search picker, and volume control.
  • Server networks - opt-in cross-server ban syncing and infraction search with member/submitter roles per server.
  • Ban appeals - public appeal forms bound to a ban, links delivered in the pre-ban DM, a staff review queue, an optional holding server for decision DMs, and escalating reappeal chains (for example 2 weeks, then 1 month, then 3 months, then permanent) with a per-denial "no further appeals" option. An approved appeal unbans first, then DMs the user with a single-use rejoin invite (pick the invite channel on the Appeals page, or let the bot use your vanity URL or system channel).
  • Forum posts - bot-authored forum threads created and edited from the dashboard, so shared documents survive staff turnover.
  • Todo lists - /todo keeps a private per-server list.
  • External Web API - scoped bearer keys for reading infractions, stats, tags, and levels, importing/exporting infractions, and issuing real moderation actions from your own tooling.
  • Feature flags and Premium - premium features are visible per server on a Premium page, purchasable through the shop along with self-serve white-label instances. Paid time is sold in 30-day blocks - top up any time from the shop and the new block stacks on the time you have left; nothing ever auto-renews on any payment method. Remaining time shows on the shop page, your server's overview page, and My Instance.
  • Platform badges - a fleet-wide badge catalog; badges show on !info and as an icon strip on rank cards.
  • First-party docs - this documentation site, with full-text search.

The dashboard, rewritten

The dashboard is a from-scratch rebuild. The headline: your server's whole configuration is one YAML document with an editor, server-side validation, a Check button that lints against your real channels and roles, full change history with one-click restore, and live reload - the bot picks up every save without a restart. Around it:

  • A guided Setup section (moderation, welcome, starboard, filters, channel rules, access, reports, honeypot, music, games) plus a Quick Setup wizard - every form edits only the keys you touch, so comments and hand-written config survive.
  • A command permission studio that edits overrides/lockdown rules structurally and answers "would this command run here, for this member?" with the exact rule that decided.
  • A message simulator that shows which censor rule or spam counter a message would trip, down to the config key that fired.
  • A custom-command workbench with a drag-and-drop builder that composes down to the exact DSL the bot runs.
  • A mod-log builder with per-channel event pickers and a visual per-event format builder: edit the plain line and the full embed (author, thumbnail, color, reorderable fields) starting from the current format, with a live Discord-style preview and an event list you can scope to one of your log channels.
  • Managers for infractions (edit, expire now, delete with optional punishment reversal), notes, tags, AutoMod, image scanning, appeals, networks, forum posts, API keys, and per-server access roles (admin/editor/mod/viewer).

Behavior changes worth knowing

  • The mod log only lists real events - every event in the picker has a live emitter, and plain and pretty modes carry the same information.
  • Deleted-message logs stay useful even without a stored copy - when a deleted message is older than the bot's records, the entry shows exactly when it was sent, and a moderator deletion still names both the author and who deleted it.
  • Threads and forum posts are moderated like their channel - all the filters run inside them, and channel exemptions follow: whitelisting or ignoring a channel covers its threads, and games allowed in a channel can be played in its threads. Channel lockdown lists are the one exception - they do not recognize threads (see the Commands page).
  • Command errors answer privately - slash command errors, cooldown notes, and usage nudges reply only to you instead of cluttering the channel.
  • Rank-card backgrounds are static images - rankcard background takes png, jpg, or webp. Animated cards are reserved for the bot's own staff.
  • Uploaded rank-card backgrounds no longer expire - backgrounds set by uploading an image used to silently disappear about a day later (Discord's file links expire); the bot now renews the link automatically every time your card renders.
  • Rank-card customizations are per server - the background, accent color, bio, title, and level-up message you set with the rankcard commands now apply only in the server you set them in, so each community sees the card you built for it. Your existing look was carried over to every server you had XP in.
  • Lockdown lists combine sensibly - "only in channels" and "only in categories" now work as a union: a command runs in any listed channel and anywhere under any listed category.
  • mute without a duration is a permanent mute instead of an error.
  • r clear requires an explicit all to wipe every reminder - a bare number clears just that one.
  • Starboards can run several boards off different emojis at once.
  • Custom commands use a documented, consistent DSL; commands written for the old bot keep working through a compatibility layer and show a deprecation note when edited.
  • Imported tags render their mentions again - the old bot stored tag text with channel/user/role mentions defused, so carried-over tags showed dead text; imports now restore them to working links (deliberately excluding @everyone/@here, which stay inert). User and role mentions in tags also ping for real now - @everyone/@here never ping from a tag, no matter who wrote it.
  • Self-mutes are tracked as their own infraction type with timeleft to check the remainder.

Removed

  • Reddit and Twitch feeds - the APIs they relied on no longer exist in usable form; dedicated feed bots do this better.
  • temprole - retired; a dedicated role-toggle bot owns that flow. Old temprole infractions still display.
  • hardmute / temphardmute - native timeouts plus the regular mute role cover the use case. Legacy hardmutes still display and still lift on expiry.
  • Presence-based filters - Discord gated the presence intent, so nickname filtering hooks member updates instead.
  • A set of legacy joke commands and internal helpers (lacking, rat, MEE6, the "Nope" trio, mobile-modding helpers, staff, notseen, and standalone uptime - it lives inside about now). The animal pictures survived.

That's the current delta - this list grows as the beta does. Dated entries start at launch.