Sticky Roles

Sticky Roles gives members their roles back when they leave your server and rejoin. When someone leaves, Diski remembers their roles; when they come back within the time you set, it hands back the ones you chose — levels, colours, pronouns, a Verified role — and keeps punishments such as a Muted role in place, so nobody has to re-assign roles by hand and nobody escapes a mute by rejoining. Sticky Roles is free for every server.

Sticky Roles

The switch on the status card at the top of the page. Sticky Roles is off until you turn it on, and the switch saves the moment you click it. While it is on, Diski remembers the roles of members who leave and gives them back when they rejoin; with Selected roles and no roles picked yet it is on but does nothing, so pick some roles (or choose All roles) to get it going. While it is off, nothing is remembered or given back, and the settings stay visible — changing one asks you to turn Sticky Roles on first. Roles remembered earlier are kept until they expire, so switching it back on still restores them — except for anyone who rejoins or leaves while it is off: what Diski saved for them is out of date by then, so it is deleted. Changes reach the bot within about 15 seconds.

Which roles come back

Selected roles (the default) gives back only the roles you pick, up to 50. All roles gives back every role the member had, except managed roles (bot and Server Booster roles), roles at or above Diski's own role and excluded roles. In both modes Diski never gives back a role with moderation or admin permissions — such as Administrator, Manage Server, Manage Roles, Manage Messages, Kick, Ban or Timeout Members — including a role that only has them in some channels through a channel permission override. A moderator who was kicked mustn't walk back in with their powers, so give staff roles back by hand. Roles another Diski feature hands out and takes back on its own follow that feature: the Birthdays role, and Leveling reward roles while Reset XP when a member leaves is on, never come back; a role the Guild Linker gives in this server comes back only while the member still has the role that earns it in the other server (Diski must be in that server too); and while Remove rewards when invites drop is on, an Invite Tracker reward comes back unless the member's invite count has dropped below it since their rewards were last checked.

Roles to give back

The roles Selected roles gives back, up to 50 — including punishment roles such as Muted or Jail, so nobody shakes one off by leaving and rejoining. @everyone, managed roles (bot and Server Booster roles) and roles with moderation or admin permissions can't be picked — Sticky Roles never gives those back. Diski checks the list again whenever the module is switched back on or you switch from All roles to Selected roles. A role that was deleted from the server is simply skipped.

Never give back

Roles that never come back in either mode, up to 100 — for example event roles you hand out for a limited time, staff roles, or an Unverified role. Don't exclude punishment roles such as Muted or Jail: keeping them sticky means a member can't get out of a mute by leaving and rejoining. A role cannot be both given back and excluded.

Remember roles for

How many days after someone leaves Diski still gives their roles back, from 1 to 365 (default 30). After that their saved roles are deleted and they rejoin like anyone new. Shortening it also applies to members who already left. Each time a member leaves, Diski saves the roles they have at that moment, replacing what it saved before.

How it works

Roles are given back a few seconds after a member rejoins, one at a time, so a role Diski can't give (deleted, managed or above its own role) never blocks the rest. Diski needs the Manage Roles permission, and its role must sit above every role it gives back. Bots never get roles back. When Diski gives back your Member Verification Verified role, it also takes off the Unverified role, so nobody is left locked out. Members your Security settings act on when they rejoin — an account too new for the account-age gate, or anyone joining during a lockdown or raid — don't get their roles back at that join; Diski keeps them for their next rejoin. Kicked members get their roles back when they rejoin, but banning a member deletes the roles Diski saved for them. Discord doesn't tell Diski which roles someone had when they leave, so Diski reads them from its own copy of the member list. It loads the full member list of every server with Sticky Roles on after it starts (and within a few minutes of the module being switched on), but only for servers with up to 25,000 members, and only while the total across all the servers using Sticky Roles stays within 100,000 members — so even a smaller server may not be loaded. In a server it didn't load, Diski only remembers the roles of members it has seen since it last restarted — for example because they joined, sent a message or had their roles changed.