Server statistics
The bot counts your server's messages, voice time and reactions, turns them into an activity score, then sorts servers into tiers.
In short
EnderBot records your server's activity hour by hour and day by day. >chart draws the curves, and that same record feeds the activity score that decides where the server stands in the public directory.
There is nothing to switch on. As soon as the bot sees a message, a voice minute or a reaction, it adds it to that channel's record. The charts and the score read that one record, never two separate counts.
The activity score sums up five measures taken over the last 7 days. Each carries its own weight: one more person writing counts for more than one more message.
Public servers' scores are ranked against each other, then cut into six tiers. The highest goes to the top 1 %, and the lowest takes in everyone else.
Nothing is computed on demand: the curves stay cached for 30 minutes, the score for 60 minutes. That is what makes the dashboard instant, and also why a message just posted does not show up yet.
>chart opens five charts inside Discord: messages, voice, members, reactions and activity score. One more subcommand ranks the channels against each other.
Five measures, each with its own weight
Everything below is counted over the last 7 days, then weighted. The total is rounded to the unit.
Voice is counted by the minute: one hour in a voice channel is worth 30 points.
Six tiers cut by percentile
The ranking compares servers with each other, never against a fixed threshold: the highest tier goes to the top 1 %, and it is redone every hour.
Only public servers that are not banned and still have the bot in them enter the ranking.
Four clocks that do not beat together
The dashboard carries a button that forces the curves to be recomputed, usable every 5 minutes, or every 30 seconds for the bot team.
The score has no button of its own: it waits its turn in the hourly pass.
Five charts, two time scales
An hourly curve keeps the last 48 points, a daily curve the last 30.
| What `>chart` can draw | By hour | By day |
|---|---|---|
| MessagesMessages posted in the server, with the total and how many people wrote. | 48 hours | 30 days |
| VoiceTime spent in voice channels, shown in hours as soon as the total deserves it. | 48 hours | 30 days |
| MembersThe server's size, with the trend between the first and the last point of the curve. | 48 hours | 30 days |
| ReactionsReactions added to the server's messages, and who adds them most often. | 48 hours | 30 days |
| Activity scoreThe server's score, one value a day: there is no hourly score, the window itself is longer than that. | No hourly axis | 30 days |
Unique contributors are counted on top of that over six windows, from today to the server's whole history.
The screen of a chart
The command answers with a chart image, preceded by a single grey line saying what the image shows. Nothing else is written: everything else is in the plot and in the menus below it.
- The header line
The type, the view, the average applied and the server name, in that order. With no average, that piece disappears.
- The plot
An image generated on demand, carrying the server name and icon. It is not stored: reopening it later recomputes it.
- The refresh button
It recomputes the picture from the freshest counters, in place. A Secondary button, like the view switch beside it.
- The view switch
It swaps the curve for the leaderboard of the same type, and back again. The same screen, another reading.
The chart is regenerated on every menu change: the message is edited in place, a second one is never sent.
Five controls under the image
Three dropdowns and two buttons. None of them asks you to retype the command: each edits the message in place.
The granularity menu disappears on the activity score, which only exists daily. The top view hides granularity and average as well.
The commands
View guild activity charts and statistics · servers only