Back to Blog

How to Auto-Assign Discord Roles by Time-in-Server and Activity (Regular, Veteran, Active) 2026

Peak Team·June 8, 2026·8 min read
By the PeakBot Team — powering 500+ Discord communities
Key Takeaways
  • A basic auto-role fires once: a member joins, the bot hands them a role, done.
  • Start with the simplest tenure role: a member who's been around for a set number of days graduates from "new" to "regular."
  • Tenure alone rewards lurkers.
  • Veteran roles combine tenure and, optionally, activity.
  • This is the step most servers skip, and it's why their @Active list slowly becomes meaningless.
  • Every rule above is only as good as the data behind it.

How to Auto-Assign Discord Roles by Time-in-Server and Activity (Regular, Veteran, Active) 2026

To auto-assign Discord roles based on activity and time in server, use a bot that tracks XP and join dates, then create rules that grant roles like @Regular after a set number of days and @Active or @Veteran based on message and voice activity. PeakBot does this for free using its built-in XP and leveling system, with role rewards tied to real engagement data.

A join role that everyone gets the second they walk in is fine for basics. But it tells you nothing about who actually sticks around or contributes. Tenure and activity roles do. They let you reward the people who show up, give regulars a separate channel or two, and quietly signal to newcomers that there's a path forward. This guide walks through setting all of that up with real Discord mechanics and real settings.

Tenure and activity roles vs basic join roles

A basic auto-role fires once: a member joins, the bot hands them a role, done. That's covered in our guide on how to auto-assign a role in Discord, and it's the right tool for a verification or "Member" baseline.

Tenure and activity roles are different. They're conditional and ongoing:

  • Tenure roles depend on how long someone has been in the server. @Regular after 7 days, @Veteran after 6 months.
  • Activity roles depend on what someone does. Sending messages, joining voice, earning XP. An @Active role for people who post regularly, a higher tier for your most engaged members.

The reason to bother: these roles carry information. A new member can see that regulars get a relaxed off-topic channel. A long-time member gets a visible badge for loyalty. And you, the owner, get a clean way to gate features, perks, or trust levels without manually tracking who deserves what.

You need a bot that records two things: each member's join date and their ongoing activity. PeakBot's free XP and leveling system tracks both message and voice activity, which is exactly the data these rules run on.

Step 1: Set up a @Regular role after X days in the server

Start with the simplest tenure role: a member who's been around for a set number of days graduates from "new" to "regular."

First, create the role itself. In Discord, go to Server Settings → Roles → Create Role, name it @Regular, and give it a color so it's visible in the member list. Don't over-grant permissions here. If you're unsure what each toggle does, our walkthrough on Discord roles and permissions covers which ones are safe to hand out.

Then set the rule. With a bot tracking join dates, you create a condition: if member has been in the server for 7+ days, assign @Regular. PeakBot evaluates this against the member's join timestamp, so it applies automatically once they cross the threshold. No manual auditing.

A common setup:

  • @New — auto-assigned on join (your baseline role)
  • @Regular — after 7 days
  • @Member — after 30 days, often with access to a few extra channels

The point of staging it is friction control. New accounts can't immediately reach every channel, which cuts down on drive-by spam and raid damage, while genuine members earn access just by sticking around a week.

Step 2: Set up activity-tier roles tied to messages or XP

Tenure alone rewards lurkers. Someone can sit in your server for a year and never type a word. Activity roles fix that by reading what people actually do.

The cleanest way to do this is with XP. Every message earns a small amount of XP; voice time earns XP too. When a member hits a level, the bot grants a role. This is the same mechanic MEE6 made popular, except PeakBot's leveling is free with no paywall on the useful parts. We compared the two directly in how to set up level role rewards without MEE6 premium.

To configure activity tiers in PeakBot's dashboard:

  1. Open the XP & Leveling section and confirm message XP and voice XP are both enabled.
  2. Go to Role Rewards and map levels to roles. For example:
    • Level 5 → @Active
    • Level 15 → @Contributor
    • Level 30 → @Core
  3. Choose whether rewards stack (members keep every tier role) or replace (only the highest role shows). Replace keeps the member list tidy; stack is useful if lower roles unlock specific channels.

Because XP comes from real messages and voice minutes, an @Active role genuinely means active. You're not guessing.

If you want a faster route, PeakBot's AI Server Builder can generate the whole role-and-channel structure from a plain-English prompt in under 60 seconds, including activity tiers wired to leveling. It's a Pro feature, but it saves the manual mapping if you're starting from scratch.

Step 3: Create Veteran and loyalty roles for long-time members

Veteran roles combine tenure and, optionally, activity. They're a thank-you to the people who've been with you since early on.

Two ways to define a veteran:

  • Pure tenure: in the server 180 or 365 days. Simple, fair, and impossible to fake.
  • Tenure plus activity: in the server 180 days and reached at least level 15. This filters out year-old lurkers and only rewards people who were both present and engaged.

Create the @Veteran role with a distinct color (deep gold and purple are common picks) and place it high in the role list so the color wins in the member sidebar. You can pair it with light perks: a veterans-only channel, an extra reaction-role choice, or a custom title. Keep the perks modest. The badge itself is most of the reward.

For anniversary-style loyalty roles, some owners add a @1 Year role that fires on the join-date anniversary. Whether you can automate that exactly depends on your bot's tenure conditions, but a 365-day threshold gets you almost all the way there.

Step 4: Prune roles when members go inactive

This is the step most servers skip, and it's why their @Active list slowly becomes meaningless.

If a role is supposed to mean "currently engaged," it has to be removed when engagement stops. Otherwise everyone who was ever active keeps the role forever and it stops signaling anything.

Two approaches:

  • Decay: with XP-based roles, you can enable XP decay so inactive members slowly lose XP and drop below the threshold, which removes the tier role. This keeps @Active honest.
  • Manual pruning windows: periodically review who hasn't posted in, say, 30 days and strip the activity role. More work, more control.

Tenure and veteran roles should generally not be pruned for inactivity. Those reward having been here, not being here right now. Only prune the roles whose entire meaning is "active currently." Mixing those up frustrates members who earned a permanent badge and then lost it.

Step 5: Use real activity data to power the rules

Every rule above is only as good as the data behind it. Guessing who's active doesn't scale past a few dozen members.

PeakBot's analytics dashboard and XP system give you the actual numbers: who's posting, who's in voice, how engagement trends week over week. You set role thresholds against that data instead of vibes. When you can see that "level 15" corresponds to genuinely consistent posters, you can set the @Contributor bar there with confidence.

This is also where an all-in-one bot pays off. Instead of running MEE6 for leveling, a separate bot for auto-roles, and a third for analytics, PeakBot handles XP, role rewards, auto-roles, and the dashboard together. One source of truth, one set of role rules. PeakBot replaces MEE6, Carl-bot, Dyno, and TidyCord, and it's free for 30+ features with no trial limit. If you outgrow the free tier, Pro is $8.25/month per server (or $69/year).

For honest comparison: MEE6 has the most name recognition for leveling, Carl-bot has the deepest reaction-role logic, Dyno is reliable for straightforward moderation, and Arcane focuses on leveling and YouTube. Each does its niche well. PeakBot's pitch is consolidating those jobs into one free bot with AI on top, not claiming the others are bad at what they do.

FAQ

Can I auto-assign roles based on voice activity, not just messages?

Yes. PeakBot's XP system awards XP for time spent in voice channels, not only for text messages. That means a member who's active in voice but rarely types can still earn @Active and higher tier roles, and your role rewards will reflect real participation across both.

Will activity and tenure roles apply retroactively to existing members?

Tenure roles generally do, because they read the member's original join date, so someone who's already been in the server for a year qualifies for a 180-day @Veteran role immediately. Activity roles based on XP usually start counting from when you turn the system on, since the bot can't reconstruct messages it never tracked. Plan to seed or manually assign a few obvious veterans the first time.

How do I stop people from farming XP to abuse activity roles?

Set per-message XP cooldowns so spamming one-word messages doesn't pile up XP, exclude bot-command and spam channels from earning XP, and lean on context-aware moderation to catch low-effort flooding. Combining an activity threshold and a tenure threshold for higher roles also makes farming much harder, since time can't be rushed.

Do I need Pro to set up activity and tenure roles?

No. XP, leveling, voice XP, role rewards, and auto-roles are part of PeakBot's free feature set with no time limit. The AI Server Builder that generates an entire role structure from a prompt is the Pro feature, but you can build every rule in this guide by hand for free.

Should activity roles ever be removed automatically?

Only the ones whose meaning is "active right now," like @Active or @Contributor. Use XP decay or periodic pruning to keep those honest. Tenure and veteran roles should stay permanent, since they reward history, not current presence.

Try PeakBot free on your server

Setup takes 30 seconds.

Free forever · Setup in 30 seconds

Ready to level up your server?

30+ features included free. Moderation, welcome messages, XP & leveling, tickets, reaction roles, and more.

See All Features