Auto Roles

Roles handed out by rule: on join, on return, reserved for named people, and separately for bots, with the safety rails that stop a raid walking through them.

On this page

Four independent halves that share a permission model and a logger. Each has its own switch, so a server can run sticky roles without join roles, or reserved roles without either.

Join roles

Every human who arrives gets these, optionally after screening, after a delay, and only for a while.

Bot roles

A separate list for bots, because a bot handed your Members role is a permission mistake.

Reserved roles

When this specific person joins, give them these. For staff who were promised a role before they arrived.

Sticky roles

What a member was wearing when they left, handed back if they come back.

Join roles

Roles to assign
Up to 10. Every member who joins gets all of them; bots have their own list on the Bot roles tab. The list is on for a new configuration and needs a role before the page saves, so switch Roles for new members off to run only the other halves.
Wait for Discord's rules screenOn by default
Holds the roles until the member accepts your rules. This is the most important setting in the system. Handing a role to a member who is still pending can lift Discord's own screening gate, so a raid of fresh accounts would arrive pre-verified. Servers without screening are unaffected. It holds reserved and sticky roles too, because a returning member has to accept again. Bots never wait.
Delay role assignment
Wait before granting, up to 14 days (it starts at 30 seconds when switched on). The roles land only if the member is still here, so scripted raid accounts that join and leave in seconds collect nothing.
Take the roles back after a while
A probation role: the join roles come off on their own after the time you set (a week when switched on, up to 365 days), with nobody left holding a list of who still has it. Off keeps them for good.

Bot roles

The Bot roles tab keeps a separate list (up to 10) with its own Delay role assignment. Off by default. Bots never wait for the rules screen and their roles never expire, because a bot's roles are what it needs to work. The minimum account age applies to bots too.

Safety rails

On the Settings tab, under Exclusions & safeguards. They gate every half (join, bot, reserved and sticky roles) and the retroactive run.

Minimum account age
Accounts younger than this get nothing, bots included. Anything from 1 hour to 30 days.
Skip members with these roles
Members already holding one of these are left alone entirely. The escape hatch for muted, quarantined and manually-handled members.
Pause while Discord reports a raidOn by default
Nothing is given while Discord has paused your invites or flagged a raid in the last hour. A member who joins meanwhile is skipped rather than queued (the log says Paused: raid detected), so run Apply to existing members once it has passed. A delayed grant already waiting is held until the raid is over, and a running bulk apply stops. It costs nothing when there is no raid.

Sticky roles

A member who leaves and comes back is restored to where they were rather than to zero. Off by default, and it remembers only from the moment it is switched on.

What comes back: Only these rolesDefault
Nothing comes back unless it is on your list. A moderation role, a paid role, or a role that gained permissions after they left can never be handed back by accident.
What comes back: Everything except…
Restores whatever they had, minus a Never bring these back list. Bot, booster and integration roles are never stored. Convenient, and worth thinking about twice.
Forget a banned member's rolesOn by default
Forget a member's roles the moment they are banned, so an unban never quietly restores a troublemaker's access.
Remember roles for
How long a departed member's roles are kept: 7, 30, 90 (the default), 180 or 365 days, or Forever. Shorter is the safer default and the better privacy answer.

Reserved roles

A standing list of “when this user id joins, give them these roles”. It is keyed by user id rather than by member, because the whole point is to write the rule before the person is in the server.

  • Up to 100 rules, up to 10 roles each, one rule per person. Pick somebody in the server, or paste the user ID of somebody who has not arrived yet.
  • Remove once given drops the rule once its roles have landed, so a one-off promise does not become a roster nobody prunes.
  • Only for a while gives a rule its own duration (a week when switched on, up to a year). “helper for the event weekend” is exactly what this list is for.

Applying to members who are already here

Join roles only fire on a join. Apply to existing members runs them retroactively across the whole server as a background job you can watch, stop and run again. It reads your saved settings and only ever adds roles. Under Run options it can give roles of its own instead: pick Pick roles and choose any roles, not only the ones new members get.

  • Members holding a role on the run's Leave members with these roles alone list or the Settings tab's skip list are skipped, and so are accounts under the minimum age. Members still on Discord's rules screen get their roles when they accept.
  • Bots are included only with Include bots on, and get the bot list, never the member one.
  • The retroactive job deliberately does not put roles on the clock. Otherwise one button press becomes a server-wide role removal a week later.
  • Before it starts it shows the longest the run can take; while it runs, a progress bar and a rough time left. You can leave the page. If Discord flags a raid the run stops, and running it again carries on.

Temporary roles

Auto Roles owns the expiry engine for every system that hands out a role with a clock on it. Join roles, reserved rules and Reaction Roles menus all write into the same ledger.

  • Re-granting a role somebody already holds temporarily extends it rather than starting a second countdown.
  • The expiry is logged through the system that granted it, so a role picked up from a role menu is seen leaving in that menu's log.
  • Granting the same role permanently clears the clock. Otherwise “this is yours” would be undone a week later.
  • A role that expires while the member is away is struck from their sticky snapshot too, so a leave and rejoin cannot make it permanent.

Logging

The Auto Roles logger sits on the Settings tab: an embed for every role Arclo assigns, restores, takes back or holds back, including members skipped for a new account, an excluded role or a raid, and the end of a bulk apply. A temporary role from a role menu is logged by that menu instead. Off by default. Switch it on from this page or from Logging.

Limits

Roles per list

10

Reserved rules

100, 10 roles each

Longest delay

14 days

Longest temporary role

365 days

Minimum account age

Up to 30 days

Sticky memory

Up to 365 days, or forever

Troubleshooting

Nobody is getting the join role.

Arclo needs Manage Roles (the page warns at the top when it is missing) and its role must sit above the join role. After that: check the half's own switch, the minimum account age, the skip-role list, whether Wait for Discord's rules screen is holding grants for members who have not accepted your rules, and whether they joined during a raid.

Roles arrive a minute late.

Check the delay setting. Screening also holds them until the member accepts.

A returning member did not get their roles back.

Sticky roles has its own switch (off by default) and its own retention window, only remembers from when it was switched on, and in Only these roles mode restores only roles on the list. With the rules screen wait on, their roles come back once they accept the rules again.

Still stuck? Ask in the support server: somebody there has almost certainly configured this before.