About
A moderation bot that respects its operator.
MARVIN started from one specific complaint: the most popular Discord moderation bots are excellent at the easy stuff and weak at the hard stuff. Anti-spam works. Anti-invite-link works. But the actual modern attack — three to six scam images dropped in a burst with@everyone attached — slips through. That's the gap MARVIN was built to fill.
What we're building
A multi-guild bot that's modular at the cog level (drop in a new feature, restart, it auto-appears in the dashboard), entirely free to operate (no paid APIs, no subscriptions), and self-hostable so you actually own the data your community produces.
Design decisions
- Everything in MySQL. No file-based config. No in-process-only state. If you delete the bot's machine but keep the database, your config + history come back on next boot.
- No Redis, no Docker for v1. Two moving parts: Python bot + Node dashboard sharing a MySQL. Redis becomes attractive only when running >1 bot process; the architecture in PLAN.md shows where it would slot in.
- $0/mo target. Every paid API was swapped for a local model. NudeNet, OpenNSFW2, CLIP zero-shot, Tesseract, and Ollama all run on your bot host.
- Per-guild everything. Module toggles, settings, role mappings, ticket categories — all per-guild. Nothing is global except the bot identity and the
known_scam_phashestable (operator-curated). - Honest scaffolding. Empty states say “empty”, not “0” faked into looking populated. If the bot is offline, the dashboard says so.
Who's behind it
Built by kamikaze-skynet with AI pair-programming. The Skynet project family also ships allcarpvp.com and other small tools — same dark theme, same “simple stack, honest defaults” philosophy.
Open source
The repo is at https://github.com/kamikaze-skynet/discord_moderation_bot. Issues + PRs welcome. The license is intentionally permissive so you can fork and run your own variant.