I built a Discord bot because I was tired of running five bots that didn't talk to each other
Every server I ran had the same problem. MEE6 for levels. Dyno for automod. Ticket Tool for support. Carl-bot for reaction roles. A music bot that got banned every six months.
Five bots, five dashboards, five permission sets, five points of failure. When one of them broke, I'd spend an hour figuring out which one. When a mod asked "why did this user get warned?", I'd have to check three different logs. When I wanted to know if my server was healthy, the answer was "I have no idea."
So I built Cipher.
What I Wanted
A bot that handles the boring, high-stakes work of running a community:
- Staff management - who's on the team, who's active, who's on leave, who messed up.
- File security - quarantine and scan attachments before anyone clicks them.
- AI ticket triage - tell me if a ticket is angry, urgent, and what it's about - before I read it.
- Verification - stop raids before they start.
- Community health - one number that tells me if my server is dying.
Not a music bot. Not a meme bot. Not a "100 commands you'll never use" bot. An operations bot.
What I Learned Building It
discord.js v14 is good but verbose. Intents, partials, slash command registration, permissions - there's a lot of boilerplate. I ended up with a cog system (like Red) to keep things modular.
AI integration is easier than people think. Most providers (Gemini, OpenRouter, Groq, Cerebras) have similar REST APIs. A simple abstraction layer lets you swap providers without rewriting code. The hard part is prompt engineering for sentiment and priority - models are optimistic by default.
File scanning is unglamorous but critical. Nobody thinks about it until someone drops a RAT in their #general. Local heuristics (magic bytes, entropy, extension mismatch) catch 80% of threats. VirusTotal and MalwareBazaar catch the rest. The boring part is the UX: delete the message, post a notice, DM the user, log it, apply an action. All of that matters more than the scan itself.
Community health is hard to define. Everyone wants a "health score" until you ask them what healthy means. I ended up with four sub-scores (growth, activity, retention, engagement) because no single number captures everything. The score is useful as a trend, not as an absolute.
Open source is the only honest model for Discord bots. You're asking people to give your code access to every message in their server. If that code isn't public, you're asking for blind trust. I'd rather earn it.
What's Next
Cipher is live, free, and self-hostable. I'm adding more AI features (summarization, recommendation engine) and improving the dashboard. The goal isn't to compete with MEE6 - it's to be the bot you switch to when MEE6 isn't enough.
If you run a Discord community and you're tired of duct-taping five bots together: try Cipher. It's free, open source, and built by someone who's been there.
Side projects are just problems you got tired of solving manually.
Comments
No comments yet. Start the discussion.