Changelog

Release history

We'll follow SemVer once 1.0 lands. For now, everything pre-1.0 is “new architecture” — the surface keeps stabilizing.

v0.1.0

Initial
  • 11 modules ship

    audit, anti_spam, anti_invites, anti_scam_images, automod_rules, lifecycle, moderation, nsfw_filter, onboarding, settings, tickets — auto-discovered from manifest.py.

  • Onboarding flow

    Bot creates a private #bot-setup channel on guild join with a pinned welcome embed. Catch-up handles guilds added while offline.

  • Burst scam image detection

    pHash + Tesseract OCR + optional local classifier — the 3-6 image scam-ad pattern. @everyone in burst adds +30 confidence.

  • Mass-mention filters

    @everyone / @here / mass role pings / mass user mentions, with daily cooldown for whitelisted roles.

  • Slash sync wired

    Auto-sync on on_ready, per-guild fast path via TEST_GUILD_ID, graceful global fallback when guild sync hits 50001.

  • Per-guild module customization

    Toggle any cog on/off per guild via the dashboard's module grid or /modules enable/disable.

  • All-free dependency stack

    Local NudeNet / OpenNSFW2 / CLIP / Tesseract — no Sightengine, no AWS, no Google. $0/mo operational cost target.

  • 30-day archive on remove

    Guild data is preserved for 30 days after the bot is kicked. Rejoin within the window restores everything; a daily janitor purges expired archives.

  • Plesk-ready dashboard

    Next.js custom server (server.js) for Plesk's Node.js extension. Full deploy guide in dashboard/DEPLOY_PLESK.md.