Roster & Role Sync
Every department has a roster: a structure of posts, each optionally held by a real Discord member.
How a roster is organized
- Categories — the top level, e.g. "Gold Command" or "Field Staff", each with its own color and optional description.
- Sub-categories — optional groups inside a category, e.g. "Sergeants" within "Supervisors".
- Posts — individual seats: a rank, callsign, the member holding it, driver level, certifications, and the date they took it.
New departments can start from a template (EMS, Police, Fire, Gang/Crew, Server Staff) instead of a blank roster — pick one on the setup page. Everything a template creates can be edited afterward.
Building the structure (Admin Panel)
- Add, rename, recolor, reorder, and delete categories and sub-categories.
- Set Positions on a sub-category to add or remove posts in bulk. RostR won't remove a post someone's still holding — vacate it first.
- Auto callsigns numbers every post in a sub-category up from the first one's callsign (e.g. AP-301, AP-302, …).
- Rank names, callsigns, and extra Discord roles per post are edited inline. Structural changes are saved with the Save roster button.
Assigning people (Manager or Admin Panel)
- Click the Name field on any post and start typing — pick a member from your server, or "— Vacant —" to clear the post. It saves and syncs to Discord immediately.
- Nobody holds two posts at once: assigning someone who's already elsewhere on the roster moves them, carrying their driver level and certifications with them.
- Change rank on a filled post promotes or demotes them to any rank in any category. If every post at that rank is taken, a new one is added.
- Certifications and driver level are set per person, straight from the roster row.
Discord nicknames
Anyone on a post with a callsign gets their Discord nickname set to callsign | last name — for example AP-301 | Jones. Use Edit name next to someone's Discord handle to change the part after the callsign. Discord never lets a bot change the server owner's nickname, so the owner is skipped.
Syncing Discord roles
Role sync is two-directional: RostR works out who should hold each role the roster controls (the department's staff role, plus any per-post extra roles), compares that with who holds it in Discord, and grants or revokes only the difference. Removing someone from the roster takes their roles away.
A role can safely be shared between departments — for example one "Emergency Services" role used by both EMS and Fire. RostR only removes a shared role from someone who isn't on any department's roster that uses it. Don't reuse a RostR-managed role for anything outside RostR, though: anyone holding it who isn't on a roster will have it removed.
Exporting
The ⬇ button in the Admin Panel downloads the current roster as a PDF, one table per sub-category.
Requirements and troubleshooting
The bot needs Manage Roles and Manage Nicknames, and its own role must sit above every role it manages and above the members it renames (Server Settings → Roles). If something can't be applied, the roster page lists exactly which member and role failed.