sys.status: checking… // one developer

One bot.
A bit of everything.

Enter Nirupama. A shitpost with a voice, wrapped in industrial architecture. Built, broken, and fixed by one person.

Nirupama's avatar

nirupama · checking…

// what it does

The main acts

Three things Nirupama takes seriously. Everything else is in the toolbox below.

@Nirupama

An AI with opinions

Mention the bot and talk. It keeps a personality you can tune per server — or let it adapt to your channel's vibe on its own. It can generate code, react to messages, and dig up GIFs mid-conversation.

Nirupama discussing orb dealers

/ship

Ship math with receipts

Most ship commands roll a random number. This one reads actual user data to compute compatibility, then writes you an AI-generated analysis of the result. Destiny, but auditable.

/ship command result

/graph

Activity, plotted

Message counts tracked per user over time, stored properly in Postgres, and rendered as a clean graph on demand. The groundwork for the leveling system that's on the way. Soon going to feature a leaderboard and more competition!

/graph command output

Also in the toolbox

🎲 dice rolls 🎱 magic 8-ball 🎭 tone analysis 💡 in-Discord suggestions ⚙️ tunable AI personality

// the numbers

Live, unrounded, undeniably real

The bot is tethered to this page, and the instant a message goes through, it appears right here. If the bot goes quiet, this page will know.

opening the link… status page ↗
░░░ servers yes, that's live
░░░ members reached bots included — they count too
░░░ uptime, 90 days monitored by Cronitor
░░░ commits shipped one repo, one dev
░░░ last update workin' hard? or hardly workin'?
░░░ messages tracked big numbers.
░░░ ships calculated soon
░░░ AI replies sent soon

// commands

The command reference

Everything currently slash-able. The list grows; check back.

/ship fun

Compatibility between two users, computed from real data, with an AI write-up.

/ship @user1 @user2
/graph utility

A user's message activity over time, plotted.

/graph @user days
/eightball fun

Yes/no questions answered with the confidence only an 8-ball has.

/eightball question
/diceroll fun

One six-sided die. No loot boxes.

/diceroll
/tone fun

Analyzes the emotional tone of any text. Useful before you hit send.

/tone text
/suggest feedback

Feature requests and bug reports, straight from Discord to the dev.

/suggest your_suggestion
/setmessagecount admin

Correct a user's tracked message count so /graph stays honest.

/setmessagecount count

// what's next

The dev log

What's being worked on, in roughly honest order.

in progress

Full refactor

Slowly rewrite the entire bot by hand to make it more scalable, maintainable and accelerate future features.

planned

AI memory

Conversation memory so replies stay contextual instead of goldfish-brained.

planned

Smarter /ship

More factors: activity, join dates, status, roles, message counts. Fewer coin flips.

planned

Leveling system

XP, leaderboards, role rewards, boosters, a shop. Messages become currency.

planned

Server moderation

Report buttons, auto-moderation on report frequency, mod channel integration.

planned

Deeper AI context

Let the AI see the message being replied to, profile pictures, and more.

shipped

API Update

Create and incorporate a custom api to serve true, realtime, live data on the website.

shipped

User Activity Graphs

Run /graph to see your acitivy over time.

// who makes this

One person, one bot

Nirupama is Mistromy's long-running playground — it started as a level bot storing data in a JSON file and kept evolving. It's where new ideas get tested, which means it changes often and improves constantly.

It's open source, so you can read exactly what it does. Found a bug or want a feature? /suggest works, and so do GitHub issues.

Running the AI costs actual money. If the bot earns its keep in your server, there's a Ko-fi. If not, that's fine too.

Join over 2 servers
already enjoying Nirupama.

That number is live. It only goes up from here.

Add to Discord

Admin permissions facilitate rapid growth and constant feature changes. Also help avoid re-inviting after updates.
Prefer a leaner invite? Message @Mistromy.