Analytics for Discord bots,
on your infrastructure
Mochi tracks command usage, server growth, and bot health in one dashboard. You run it, you own the data — raw user ids are hashed with a per-bot salt and never stored.
Everything your bot is telling you, in one place
Privacy-friendly by design
User ids are hashed server-side before they ever touch disk. No raw identifiers, no tracking pixels, no third parties.
Command analytics
Usage counts, success rate, latency, and unique users for every command — with previous-period comparison.
Growth tracking
Guild joins, leaves, and churn over time, so you know whether that update actually moved the needle.
Health & alerts
Per-shard status, gateway ping, and uptime, plus Discord webhook alerts for downtime, error spikes, and server drops.
Custom events & realtime
Track anything the built-in events don’t cover, and watch it land live in the realtime activity feed.
Up and running in minutes
One app container plus Postgres and ClickHouse. A 2 GB VPS handles it comfortably.
1 Start your instance
git clone https://github.com/mochi-analytics/mochi
cd mochi
POSTGRES_PASSWORD=$(openssl rand -hex 16) \
CLICKHOUSE_PASSWORD=$(openssl rand -hex 16) \
docker compose -f docker/docker-compose.yml up -d2 Attach an SDK
import { MochiClient } from "@mochi-analytics/core";
import { attachMochi } from "@mochi-analytics/discordjs";
const mochi = new MochiClient({
url: "https://mochi.example.com",
apiKey: process.env.MOCHI_API_KEY,
});
attachMochi(client, mochi);SDKs for discord.js, discord.py, and discordgo — or send events from any language with the raw Ingest API.