Skip to main content
The analytics dashboard is the default view when you open /dashboard. It aggregates server activity into charts and KPIs that update automatically every 30 seconds.

Key performance indicators

Five KPI cards appear at the top of the page:
MetricDescription
Total messagesAll messages recorded in the selected period
AI requestsNumber of AI completions triggered
AI cost (est.)Estimated USD cost of AI usage
Active usersUnique users who sent at least one message
New membersMembers who joined during the period
Each card shows the current value. When Compare vs previous mode is on, a delta percentage appears below the value, highlighted green for an increase and red for a decrease.

Time range filtering

Select a preset or define a custom window using the buttons at the top right of the page:
Choose Today, Week, or Month to apply a preset range. The interval switches automatically — hourly buckets for Today, daily buckets for Week and Month.

Compare mode

Click Compare vs previous to overlay KPI values from the equivalent preceding period. Delta percentages appear on each KPI card. Toggle the button again to exit compare mode.

Charts

Message volume

A line chart shows Messages and AI Requests over the selected range. Hover any point to see the exact count for that bucket. The chart renders no data state when the period has no activity.

Activity heatmap

A grid heatmap shows message density broken down by day of week (rows) and hour of day (columns, 0–23). Darker cells indicate higher activity. Hover a cell to see the exact message count for that day/hour combination.

AI usage breakdown

Two charts cover AI usage:
  • Model distribution — a pie chart showing how many requests went to each model
  • Token breakdown — a bar chart splitting prompt tokens from completion tokens

Top channels breakdown

A horizontal bar chart ranks channels by message volume in the selected period. Click a bar to filter all metrics on the page to that channel. Click the active bar again, or click All channels in the channel filter card, to clear the filter.

Command usage stats

A table lists every slash command alongside its usage count for the selected range. Commands are sorted by use count descending.

Real-time indicators

A live card refreshes every 30 seconds and shows:
  • Online members — current online count from the Discord guild cache
  • Active AI conversations — number of channels with an open AI conversation in memory
A pulsing dot next to the card title indicates the live refresh is active.

User engagement metrics

When engagement tracking is enabled, a section shows aggregate stats:
MetricDescription
Tracked usersUsers with at least one recorded activity
Total messages sentSum of all messages from tracked users
Total reactions givenReactions added by tracked users
Total reactions receivedReactions received by tracked users
Avg messages / userMean message count per tracked user

XP economy

When XP tracking is enabled, a second card shows:
MetricDescription
Users with XPMembers who have earned at least 1 XP point
Total XP distributedSum of all XP awarded
Average levelMean level across all members with XP
Highest levelThe highest level reached by any member

Exporting data

Two export actions are available in the toolbar:

Export CSV

Downloads a CSV file containing KPIs, top channels, and command usage for the current range and filters. The file name includes the guild ID and range type.

Export PDF

Opens a print-ready HTML report in a new window and triggers the browser’s print dialog. The report includes KPIs, top channels, command usage, user engagement, and AI usage by model.
The PDF export uses the browser’s built-in print-to-PDF capability. No external dependencies or server-side rendering are required.

Channel filter

Click any channel in the Top channels breakdown chart, or use the Channel filter card below the real-time indicators, to scope all metrics to a single channel. The selected channel is highlighted in the chart. Click All channels to clear the filter.

Auto-refresh

The dashboard polls the analytics API every 30 seconds when a guild is selected. A timestamp below the page title shows when data was last updated. You can also force a refresh at any time by clicking Refresh in the toolbar.
If you leave the page and return, the dashboard resumes auto-refresh automatically. There is no need to manually reload.

Build docs developers (and LLMs) love