Skip to Content
Free & open source · AGPL server · Apache-2.0 SDKs

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.

Sharing & exports

Public read-only dashboards, README badges, CSV/JSON exports, and a Stats API for your own /stats command.

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 -d

2 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.

Own your bot’s analytics

Spin up Mochi with Docker Compose and see your first events land in the dashboard tonight.