Server Stats Bot

Server Stats Bot

Track and analyze your Discord server's activity with historical stats, shareable web pages, and activity reward roles.

Features

  • Real-time tracking of messages, reactions, joins, leaves, and voice activity
  • Per-channel and per-member detailed analytics
  • Historical stats stored daily and viewable as shareable web pages
  • Role membership tracking — monitor member counts of specific roles over time
  • Activity rewards — streak-based and total-stats-based role assignments
  • Privacy controls — admin opt-in, user opt-out, no message content collected
  • Ignore channels/categories — exclude specific areas from tracking

Getting Started

  1. Invite the Bot — Add Server Stats Bot with the necessary permissions.
  2. Run /setup — Open the configuration panel and enable analytics.
  3. Configure Tracking — Optionally ignore channels or categories you don’t want tracked.
  4. Track Roles — Select up to 10 roles to monitor daily member counts.
  5. View Stats — Use /stats commands to see activity reports.

The /setup Command

Interactive configuration panel (Administrator only):

  • Enable/Disable — Toggle analytics tracking on or off
  • Ignore Categories — Select categories to exclude from tracking (max 25)
  • Ignore Channels — Select text channels to exclude from tracking (max 25)
  • Track Roles — Select roles to monitor daily member counts (max 10)

Commands

Stats Commands

All stats commands have a 100-second cooldown per user.

CommandDescription
/stats summaryQuick overview of today’s stats: messages, reactions, active channels/users, joins, leaves, peak voice
/stats member <member> <days>Historical per-member stats (messages, reactions added/received)
/stats channel <channel> <days>Historical per-channel stats (messages, reactions, unique senders)
/stats server <days>Historical server-wide stats (messages, reactions, joins, leaves, voice, member count, boosts)
/stats roles <days>Historical role membership counts for tracked roles
  • Days parameter: 0–500 (0 = all time)
  • Stats are generated as shareable web pages on discordlabs.org (links expire after 7 days)

Other Commands

CommandDescription
/privacy tracking:offOpt out of personal tracking
/privacy tracking:onRe-enable personal tracking
/helpView bot help and features
/rewardsConfigure activity reward roles (Administrator)

What Gets Tracked

Messages

  • Per-channel message counts and unique senders
  • Per-member message counts
  • Ignored in excluded channels/categories, from bots, and from opted-out users

Reactions

  • Per-channel reaction counts
  • Per-member reactions added and reactions received

Joins & Leaves

  • Daily join and leave counts per server
  • Bot joins/leaves are excluded

Voice Activity

  • Current voice user count
  • Peak voice users per day

Server Metrics (daily snapshot)

  • Total member count
  • Online member count
  • Boost count

Role Tracking

  • Daily member counts for configured tracked roles

Activity Rewards

Configure activity-based reward roles through the /rewards command (Administrator only, analytics must be enabled).

Streak Rewards

Members must meet daily stat requirements for N consecutive days to earn a role.

  • Set requirements for: messages, reactions added, reactions received (per day)
  • Streak duration: 1–365 days
  • Role is awarded when the streak is completed
  • Role is removed when the streak is broken
  • Max 10 streak rules per server

Total Stats Rewards

Members earn a role permanently when their all-time stats reach a threshold.

  • Set thresholds for: total messages, total reactions added, total reactions received
  • Once awarded, the role stays permanently
  • Max 10 total stats rules per server

Rewards Management

  • Add/Edit/Remove rules with pre-filled modals
  • View Rules — list all configured rules
  • Clear All — remove all rules with confirmation
  • Sync on edit — optionally re-check existing members against updated requirements

Privacy & Opt-Out

  • Admin opt-in — Analytics are disabled by default; an admin must enable them via /setup
  • No message content — Only counts are tracked, never message text
  • User opt-out — Use /privacy tracking:off to stop all personal tracking
    • Your messages and reactions won’t be counted
    • Server-level stats (joins, leaves, voice) still include anonymous counts
  • Re-enable — Use /privacy tracking:on to resume tracking

Limits

FeatureLimit
Ignored Categories25 per server
Ignored Channels25 per server
Tracked Roles10 per server
Streak Reward Rules10 per server
Total Stats Reward Rules10 per server
Streak Duration1–365 days
Stats Days Parameter0–500 (0 = all time)
Stat Page Expiry7 days
Stats Cooldown100 seconds per user

Need Help?

Join our support server for assistance and updates