Features / Core Services

Core Services

Ten Discord bot features, free.

Every YourBot server comes with all ten core services, included for free. Toggle each one on or off per server and manage everything from the web dashboard. Explore any service below to see what it does and how you can customize it.

Know what your community actually does.

Analytics counts what happens in your server, never what was said. Messages, voice, joins and leaves, and if you turn it on who is online and what members play, become trends, retention curves, leaderboards, charts you can call up in Discord and a stats card members can share. Role rewards, alerts and counter channels run on the same numbers.

YourBot analytics mascot holding a clipboard of charts
11
dashboard pages
15
role reward metrics
5
alert types
24
slash commands
01

How it works

STEP 1
Run setup
The wizard creates a private #analytics-alerts channel, turns on bot exclusion, adds a starter activity-drop alert and imports up to 365 days of message history so the charts are not empty on day one. It raises Data Retention to 365 days when it is shorter, so the imported history is kept.
STEP 2
Activity is counted
Every message, voice session, screen share, reaction, thread, join and leave is recorded as a count and rolled up by hour and day. Turn on status and activity tracking and the bot also counts who is online every 5 minutes and records what members play, stream or listen to. Message text is never stored.
STEP 3
Read the dashboard
Home says how the server is doing. Growth, Activity, Best times, Channels and Members each answer one question, and any member, channel, day or hour opens in a side panel. Inside Discord, /server, /top and /chart render cards and charts.
STEP 4
Put the numbers to work
Role rewards grant roles when a member meets your conditions, alerts post to a channel when something changes, counter channels show live numbers in a channel name, and members share a stats card with /stats or /me.
02

Everything it does

The complete list, grouped by what you are trying to do. Every item describes what Analytics does today.

Messages

Volume, who drives it, where it happens and what it is made of.

Trends with context. Daily counts with a 7-day average, the change against the previous period, the busiest and quietest day and a weekend-versus-weekday verdict.
Who and where. Top channels and top senders, how many different people posted, the quietest channels, a channel growth table and a side panel for any channel or member.
What messages are made of. The share of replies, pictures or files, links, stickers and mentions.
Reactions and threads. Reactions per day, the top emoji and how they trend, who hands out the most and who gets the most, threads started per day, the channels with the most threads and the members who start the most.
An anomaly banner. When today runs at least two standard deviations from the trailing 14-day mean, Home and the Chat tab of Activity say so, once there are seven days of history.
Best times. Hour-by-weekday grids for chat, voice or members online, chat per channel if you like, with the busiest and quietest hours and the number of active hours. Click an hour for its top 8 channels and members, or compare the grid against the period before it.

Voice

Voice is tracked with the same care as text, including who talks to whom.

Hours and peaks. Voice hours per day with a 7-day average, the most people in voice at once each day and who is in voice or sharing their screen right now.
Session shapes. Median and 95th percentile session length and a histogram from under 5 minutes to over 2 hours.
Stickiness. Returning versus total voice users per week for the last 8 weeks.
Voice partners. Pairs of members who spend the most time in the same channel, counted once they have shared 5 minutes, over the last 90 days.
Screen share as its own metric. Hours, sessions and top streamers.
Voice states are recorded. Each session remembers whether the member was AFK, self-muted, self-deafened, server-muted or server-deafened, and you can leave any of those states out of voice hours, sessions and leaderboards.

Members and retention

Whether people stay, and who is about to leave.

Joins, leaves and net. Per day, with a live member count line and daily active members.
Cohort retention. Next day, a week on and a month on per weekly join cohort, where coming back on that day or any later day counts, computed nightly. A cell reads Too new until the cohort is old enough.
What new members do. Got a role, said hello, joined voice, came back after a week and still here today, each out of the people who joined and measured from their own join time.
Activation and bounce. The share of joiners who spoke or joined voice within 24 hours, and the share who left within a day or a week.
Regulars going quiet. Members active in the last 14 days who have gone silent for 5 days, by name on the Members page and on Home once three or more have.
Tenure and account age. Median and average days in the server with the newest and longest-serving tenth, a tenure histogram and an account-age histogram of new joiners as a raid signal.
Who invited whom. Invite attribution from Discord's invite counters, with a top inviters table and still-here counts.
Fake joins are flagged. A join that leaves within 10 minutes, an account younger than 7 days or a member inviting themselves is marked as fake and left out of the inviter table unless Count fakes is on. Both windows are yours to change, and a no-avatar rule can be added.
Recent joiners and leavers. The 25 newest members with the invite they came through, and up to 25 members who left in the range with how long they stayed.
A profile for every member. In a side panel: messages and reactions per day, where they post, voice channels and recent sessions, voice partners, when they are around, top emoji, threads, who they invited, names used, rank, current status and what they play.

Channels

Which channels are alive, and which only look it.

A verdict per channel. Growing or fading on a 20 percent swing, steady, new or quiet after 14 days with nothing.
Momentum and quiet lists. Each channel against the period before, and the channels nobody has used in two weeks, or in 7 to 180 days if you pick, ready to archive.
Channel groups. Show several channels as one row, on every channel table, in the API and in CSV. Up to 20 groups of up to 25 channels each, built on the Channels page. A group replaces its channels so nothing is counted twice, and the group's own panel breaks it back into its parts.

Status and activity

Off by default, and only possible when your bot has the Presence intent.

Members by status. Every 5 minutes the bot counts how many members are online, idle, on do not disturb and offline. The Online tab of Activity shows the latest count, the peak, the series and an hour-by-hour average over the last 24 hours, 7 or 30 days.
What members do. Activity tracking records a session each time a member starts or stops playing, streaming, listening to, watching or competing in something. The Playing tab of Activity shows total hours, members and sessions, the top 10 activities by hours and by members, who is doing what right now and the top 5 members behind each of the 5 biggest activities.
Allow or block lists. Keep only the activities you name, or drop the ones you name, up to 200 names.
Checked against the intent. Both switches only turn on when the bot serving your server has the Presence intent. Without it every member would read as offline, so the page says so instead of showing zeros.
Whole-server counts. Status samples are counts of the whole server with no member column. Activity sessions skip bots and excluded roles, and a member who hides their stats card is left out within five minutes.

Leaderboards, cards and charts

The parts members see.

Twelve leaderboard metrics. Messages, voice hours and sessions, screen share hours and sessions, reactions given and received, threads created, days in server, days active in text or voice and unique channels used. The Members page ranks them over 7 to 365 days, with an all-time top 10.
`/stats` as a picture. A rendered card with totals, all-time and 30-day rank with a top-percent figure, 1-day and 7-day counts, top channels, sparklines and the next role reward, with a switcher for a 30-day activity graph and a channel breakdown. /me and /user open the same card.
`/leaderboard` as a picture. A ranked card with dropdowns to change the metric and time frame in place.
`/top` and `/server`. /top ranks members by messages or voice, channels by messages or voice, or shows all four at once, over 7, 14, 30 or 90 days. /server renders an overview card: members and how that changed, active members, messages and voice hours for 7 and 30 days, top channels and 30-day sparklines.
`/chart` in Discord. A per-day chart of messages, voice minutes, joins and leaves, one channel, or one member, over 7, 14, 30 or 90 days. It is shown only to you unless you choose to post it in the channel.
A shareable page. Each stats card has a signed, no-login public page and PNG. Members can hide their own card with one button, the Sharing page resets every link at once and the card designer can switch cards off for the server.
A card designer. Colours, background image and section toggles for both cards, with live previews. Leaderboard cards show 5 to 25 entries with avatars, progress bars and medals.

Role rewards

Roles that members earn, granted and revoked without anyone watching.

Conditions, not just thresholds. A reward holds up to 8 conditions on 15 metrics, combined with all or any. Each condition can set a minimum, a maximum, a window, a top rank or top percent, or a number of days the minimum must be met on. The bot grants the role to everyone who qualifies.
Fifteen metrics. Messages, voice hours and sessions, days active in text or voice, unique channels posted in, screen share hours and sessions, days in server, reactions given and received, threads created, the longest streak of consecutive days with a message, account age, and members invited.
On its own schedule. Each reward runs every 10 minutes, 30 minutes, hour, 6 hours or once a day, 30 minutes by default.
Revoke, DM and announce. Optionally remove the role when a member no longer qualifies, DM them a custom message when they earn it, and post a notice to a channel of your choice, grouped into one message per run by default.
Invert and ignore. Flip a reward so it targets members who do not meet the conditions, and list up to 200 members it never touches.
Checked before it runs. Each reward reads as one sentence. The page warns when the bot lacks Manage Roles, its top role is too low or the role is managed by an integration. It shows how many members have each role.

Alerts and markers

The dashboard comes to you when something changes.

Five alert types. Activity drop in messages or active members, spam spike, activation drop, voice peak and dead channel. Spam spikes and voice peaks are checked every 5 minutes and the other three once an hour, each with its own cooldown of 1 to 168 hours, 6 by default.
No alarms on a quiet week. An activity drop only fires when the previous window had at least 50 messages, or 10 active members for the member metric.
Delivery you can trust. A rule cannot be saved without a channel. If the channel breaks, the alerts page shows it and the owner is told once a day.
A firing history. The 30 most recent alerts that fired, newest first, each with a one-line summary.
Markers on the charts. Add a labelled marker on any date in Settings, or switch on any of 17 automatic sources: giveaways started, ended or cancelled, announcements published, raid mode, lockdowns and anti-nuke incidents, Beacon events, tracked streams going live, patch notes for tracked games, member milestones from 100 to 100,000, boost tier changes, Start Your Server builds, service toggles, alerts that fired, finished history imports and the bot being offline for 10 minutes or more. A backfill adds up to 365 days of past events.

Counter channels

Live numbers in a channel name.

Twenty kinds of counter. Members (people, bots or everyone), members with chosen roles, members in voice, members by status or by what they play, stream or listen to, members without a role or still in rules screening, channels by type or category, roles, emojis, stickers, boosts and the boost level, bans, followers of a Bluesky account, players on a Minecraft, FiveM or Steam game server, a clock, a countdown, an activity count or change over 1, 7 or 30 days and the top member or channel.
Up to 4 counters per channel. A name template of up to 100 characters can combine them, for example {1} members, {2} online.
Renamed on a 6-minute slot. Discord allows two renames per channel every 10 minutes, so a counter channel is renamed at most once per 6-minute slot and a clock moves in 6-minute steps.
New channel or an existing one. Create a fresh channel (in a category if you like) or attach counters to a voice or text channel you already have, with a preview line before you save. Quick setup makes a Server Stats category with all members, people and bots in one click. A status or activity counter needs the Presence intent and keeps the channel's last good name when it cannot count.
Goals that announce themselves. Give a member, status, boost or follower counter a goal and it reads 1,204 / 2,000. When the goal is reached the bot can post your message in a channel once and raise the goal by a step you choose.
Set up and fixed from Discord. /counter setup, /counter create, /counter list, /counter delete and /counter check, which names whatever would stop a counter from updating. Rename a counter channel in Discord to reword it: the first number in the new name is the one the bot keeps updated.
Your number style. Every counter can read 1,234, 1.2K or 1234.

Starboard

Off by default, and the one place content is copied.

Reposts the best messages. A message that reaches your reaction threshold, 1 to 100 distinct reactors on the emoji you choose, is reposted as an embed in a starboard channel with its first image.
Rules. Allow or block self-stars and bot messages, ignore channels, and the post is removed if the count drops back under the threshold.

Public dashboard, API and CSV

The numbers can leave the dashboard on your terms.

A read-only dashboard. Overview, messages, voice and members pages over 7 to 90 days, with per-day charts and the top channels, never a member's name or row. From the Sharing page, open it to nobody, to members who sign in, to holders of chosen roles or to everyone.
A per-server API. Five endpoints behind a server key: per-day series for messages, voice hours, joins, leaves, members and reactions, top members and channels, totals, member and active-member counts, and the channel list. Member rows carry ids and counts, never names.
Keys you control. Up to 5 active keys per server, each shown once and stored only as a hash, with 60 requests a minute per key.
CSV from the charts. Fifteen exports, one for each page, tab or side panel with a Download CSV, carrying its current filters, with timestamps in ISO 8601 and a guard against spreadsheet formulas.

Filters

Read filters apply when a page is read, never when an event is recorded, so a change reshapes every page at once.

Who and what counts. An allow list of roles so only their holders count, a block list of members and voice states to leave out.
Nothing is deleted. The raw rows stay complete, so turning a read filter off brings the numbers straight back.
Leaving channels and roles out. A channel or role you leave out stops being recorded and stops counting on every page. What was recorded before it was left out counts again when you take it off the list.
03

Commands

Every slash command the service registers, and who can run it. Most day-to-day use happens through buttons and the dashboard; commands are the fast path.

CommandWhat it doesWho
/statsRenders a stats card for you or another member, with a switcher for an activity graph and a channel breakdown, an Open and share link, and a Hide my card button on your own.Everyone
/meRenders your own stats card.Everyone
/userRenders another member's stats card.Everyone
/leaderboardRenders a ranked card for messages, voice hours or voice sessions over a number of days, 0 for all-time, with dropdowns to change it in place.Everyone
/topRenders top members by messages or voice, top channels by messages or voice, or an overview of all four, over 7, 14, 30 or 90 days.Everyone
/serverRenders a server overview card: members, active members, messages and voice hours for 7 and 30 days, top channels and sparklines.Everyone
/invitesRanks who brought in the most members who are real and still here, with joined, fake and left for each and your own rank, over 7, 30 or 90 days or all time. Only to you unless a server manager sets post.Everyone
/chart messagesA chart of messages per day over 7, 14, 30 or 90 days, only to you unless post is set.Everyone
/chart voiceA chart of voice minutes per day over 7, 14, 30 or 90 days, only to you unless post is set.Everyone
/chart membersA chart of joins and leaves per day over 7, 14, 30 or 90 days, only to you unless post is set.Everyone
/chart channelA chart of one channel's messages or voice minutes per day. Refuses a channel you cannot see or one excluded from Analytics.Everyone
/chart memberA chart of one member's messages and voice minutes per day. A member who hid their card is not shown to others.Everyone
/counter setupMakes a Server Stats category with all members, people and bots counter channels.Manage Server
/counter createAdds one counter channel from 21 ready-made counters, optionally for a role, with your own name and in a category.Manage Server
/counter listLists the server's counter channels.Manage Server
/counter deleteStops updating a counter channel, and deletes the channel too if you ask.Manage Server
/counter checkNames whatever would stop a counter from updating: a missing permission or channel, the Presence intent or the last error.Manage Server
/info serverOwner, age, members, channels, roles, emojis, boosts and verification level.Everyone
/info userA member's account age, join date, roles and boosting.Everyone
/info roleA role's members, colour, position and the powerful permissions it grants.Everyone
/info channelA channel's type, category, age, topic and limits.Everyone
/info inviteWhere an invite leads, who made it, how many members and when it expires.Everyone
/info emojiA custom emoji's image and age, or a Unicode emoji's name.Everyone
/info avatarA member's avatar in full size with download links.Everyone
04

In the dashboard

Everything is configured from the web, per server. These are the areas you will find there.

Home
How the server is doing in one banner, four vital signs with their change on the period before, up to four findings that each say what to try next, the month on one chart with its markers, the best time to post, what new members did and the most active members.
Growth
Members over time with joins and leaves, whether new members stay (their first steps, active within a day, left within a day and week by week over 4, 8, 12 or 24 weeks), where they came from with fake joins flagged, who left lately, account age, how long members have been here and the newest members.
Activity
Four tabs. Chat: messages per day or by hour, the busiest channels and members, what people post, reactions and more charts. Voice: time in voice, session lengths, who comes back, voice partners and screen share. Online: members online, idle and busy over time. Playing: what members play, stream and listen to.
Best times
Every hour of the week for chat, voice or members online, the busiest hours with a plan built on them, weekdays against weekends and an average day, with a comparison against the period before and a side panel for any hour.
Channels
Every channel or channel group with how it is doing, its messages or voice hours, the change, the people taking part, a trend line and when it was last active, plus the period before, channels ready to archive, threads and the channel groups themselves.
Members
The leaderboard on 12 metrics with a trend line per row and an all-time top 10, regulars going quiet, what members play, active members per day and a search for any member.
Side panels
Any member, channel or channel group, day or hour of the week opens in a side panel with its own charts and lists. Every member also has a stats card page.
Role rewards
Each reward as one sentence with how many have it and a switch, templates to start from and when rewards last ran, with whether the bot can give their roles. Every option sits in an editor in a side panel.
Counters
Your counter channels with their name and last rename, quick setup and an editor in a side panel to create or attach one with a live preview. Pause, reorder or delete any of them.
Alerts
Each rule as one sentence, templates by rule type, recent firings and an editor in a side panel.
Sharing
Who can open the read-only dashboard, the stats cards with their public links and the members who hid theirs, API keys and CSV downloads of messages and voice time. The card designer opens from here.
Card designer
Colours, background and section toggles for the stats and leaderboard cards, with previews.
Settings
What counts (leaving bots out, keeping 30 to 365 days, a time zone that follows the server or overrides it, channels and roles to leave out, a re-scan for bots), read filters (the role allow list, the member block list, voice states and a role sync), status and activity tracking with the activity allow or block list, invite tracking and the fake-join rules, markers by hand or from 17 sources, the starboard, a Discord history import of 7 to 365 days, a rebuild of the totals with the job list and the setup checklist.
Setup
The one-click wizard and its checklist.
Personal stats page
A web copy of the stats card for any member, with the share link. Other members' pages need the viewer role.
05

Runs on its own

Batched writes. Events are queued and a separate worker stores them in batches, so the bot never waits on the database.
Rewards every 10 minutes. The loop checks which rewards are due; each one runs on its own schedule, from every 10 minutes to once a day.
Alerts every 5 minutes. Every enabled rule, honouring its cooldown.
Status samples every 5 minutes. One count of online, idle, busy and offline members per server that has status tracking on.
Counters every 6 minutes. Counter channels are recomputed on each 6-minute slot and renamed only when the name changed.
Nightly at 00:05 UTC. Cohort retention is recomputed, a member-count snapshot taken, old cached names pruned, and data beyond your retention window deleted in batches.
Roster sync every 30 minutes. Keeps the member list and the role roster behind the role filters fresh between restarts.
An hourly janitor. Voice, screen share and activity sessions that never got an end event are closed after 24 hours.
06

Limits and plans

The service is included on both the Free and the Premium plan. These are the fixed limits it works within, and they are the same on each.

SettingValueNotes
Data retention30 to 365 days30, 90, 180 or 365 days per server, 90 by default. Rollups are kept twice as long. Running setup raises it to 365.
History import7 to 365 daysWhatever the bot can read.
Chart windows7, 14, 30 or 90 days/chart and /top, capped by your retention.
Leaderboard metrics12
Role reward metrics15Up to 8 conditions per reward, 200 ignored members.
Reward schedule10 minutes to once a day30 minutes by default.
Alert types5Cooldown per rule, 1 to 168 hours, 6 by default.
Starboard threshold1 to 100Distinct reactors, 5 by default.
Voice partners window90 daysPairs count after 5 shared minutes.
Name history12 namesPer member, on the profile.
Leaderboard card entries5 to 2510 by default.
Counter kinds20Each numeric one reads 1,234, 1.2K or 1234.
Counters per channel4Name up to 100 characters, one rename per 6 minutes.
Counter channels10 per serverThe default cap.
Channel groups20Up to 25 channels each.
Status sampleEvery 5 minutesThe Online tab reads 24 hours, 7 or 30 days.
Activity filter200 namesAllow or block list.
Automatic marker sources17Backfill up to 365 days.
API keys5 active60 requests a minute per key, windows up to your retention.
CSV exports15One per page, tab or side panel with a chart.
07

Works with

08

Safety and permissions

Counts, not content. The message table has no content column. What is stored per message is who, where, when, and whether it had a reply, attachments, embeds, stickers or mentions. Only ordinary messages and replies count.
The starboard exception. A starred message's text and first image are reposted in Discord as an embed. That is the only place content is copied, and only if you turn the starboard on.
Exclusions. Bots are excluded by default. Exclude channels and roles from collection, and threads under an excluded channel are excluded too. An exclusion stops recording; it never deletes what was already counted.
Retention you set. 30, 90, 180 or 365 days per server, purged nightly. Rollups are kept twice as long, then pruned. Running setup raises it to 365 so the history it imports is kept.
Public cards are signed and optional. Card pages use a signed token tied to the server and member, name only public channels, stop working when the member leaves or hides their card, and can be disabled or reset for the whole server.
What a viewer can see. A card or chart in Discord never names a channel the viewer cannot open, and /chart channel refuses one they cannot see.
Presence is opt-in twice. Status and activity tracking are off until you turn them on, and cannot turn on without the Presence intent. Status samples hold no member column, and a member who hides their card is left out of activity tracking.
Outside access is yours to open. The read-only dashboard is private until you choose a level, never shows a member row, and API keys are stored as hashes and shown once.
Your bot's token. On servers running their own bot, every Discord call uses that bot's token.
09

What it does not do

Worth knowing before you set it up. If one of these matters to you, the marketplace may have a plugin that covers it. Marketplace plugins need a subscription and a custom bot.

  • No XP or levels. Rewards are conditions, met or not.
  • No sentiment, toxicity or AI summaries. Everything is counts.
  • No alert for a general activity spike. Spikes and unusual days show on the dashboard only; the alert types are drop, spam rate, activation, voice peak and dead channel.
  • No scheduled digest posts, and CSV is a download from the page, not a scheduled delivery.
  • No cross-server analytics. Every page, key and export is one server.
  • No Kick or X follower counters. Kick's API has no follower count and X charges for its API.
  • No status or activity page in /chart. Status and activity live on the dashboard and in CSV.
  • No per-member data deletion inside the service. A member can hide their card, but their counts stay until the retention window removes them.
10

Questions

Does it read my members' messages?

No. It records that a message happened, who sent it, where and when, and what it contained in counts. The text is never stored. The only exception is a starboard repost, which you have to turn on.

How far back does it go?

Setup imports up to 365 days of message history the bot can read and raises Data Retention to 365 days so it is kept. The History card in Settings can import 7 to 365 days later. After that, everything is recorded live and kept for the retention window you set.

Can members see their own stats?

Yes, with /stats or /me, or on the web at their personal stats page. Other members' pages need the viewer role, and a member can hide their card from everyone else with one button.

What does retention mean here?

A member counts as back a week on if they chatted or joined voice on day 7 or any later day, per weekly join cohort. Cells read Too new until the cohort is old enough to know.

Can I reward active members automatically?

Yes. A role reward grants a role when up to 8 conditions on 15 metrics are met, with optional revoke, DM and a channel notice, on a schedule from every 10 minutes to once a day.

Will it count bots?

Not by default. Bot exclusion is on, and a re-scan tool flags historical rows from before a bot was recognised.

Does it track who is online?

Only if you turn status tracking on, and only when your bot has the Presence intent. It then counts online, idle, busy and offline members every 5 minutes as whole-server numbers.

Can I show the member count in a channel name?

Yes. A counter channel combines up to 4 counters, such as members, members online, members in voice or a countdown, and is renamed at most once every 6 minutes because of Discord's rename limit.

Can people outside the dashboard see the numbers?

If you let them. From the Sharing page, open the read-only dashboard to members, to chosen roles or to everyone, or hand a tool an API key. Neither shows a member's name. You can also download the numbers behind the charts as CSV.

Why does a chart show fewer days than I asked for?

/chart and /top are capped by your retention window, and the reply says how many days the server keeps.