How do roles and permissions work?

There are two separate systems, and most confusion comes from mixing them up. Discord roles decide who is what inside your server — which team somebody owns, who the commissioners are. Dashboard access decides who may open this website and change league settings. The bot hands out and repairs Discor

Updated 20 days ago

Short answer

There are two separate systems, and most confusion comes from mixing them up. Discord roles decide who is what inside your server — which team somebody owns, who the commissioners are. Dashboard access decides who may open this website and change league settings. The bot hands out and repairs Discord roles on its own; the one thing it can never fix by itself is where its own role sits in your server's role list.

Check this first: the bot's role position

Discord will not let a bot touch any role that sits above the bot's own role in the list — and it ignores Administrator for this. If the bot's role sits too low, team roles stop being handed out, the waitlist role stops coming off when somebody claims a team, and nicknames stop updating. Nothing shows an error; things just quietly stop.

The fix: open Server Settings → Roles in Discord and drag the Franchise Hub role to the top of the list. Make sure Manage Roles is switched on for it.

That is the whole fix. Roles catch up on their own within a few minutes of the move — the bot retries by itself, so there is nothing to press afterwards.

Everything else about the bot's permissions takes care of itself: when the bot is missing a permission it can grant itself, it does, quietly. You should never have to hand-edit permissions to make the bot work — if something role-shaped is stuck, role order is almost always the reason.

One genuine exception worth knowing: Discord never lets a bot rename the server owner, at any role position. If the owner's nickname is not updating, that is a Discord rule, not a setting — the owner changes their own nickname by hand.

The two kinds of "who can do what"

In Discord: roles are your league's identity

  • Team roles — one Discord role per team, matched up on the Teams Hub's Team Roles tab. Holding a team's role is what ownership means. See Team Roles.
  • The special league roles — Commissioner, Co-Commissioner, Waitlist, League Member, Active and Inactive. Pick a Discord role for each on the Front Office Hub's Special Roles tab and press Save Special Roles. Everything the bot does with roles is built on this list — leave a slot empty and the thing that depends on it quietly does nothing. See The special league roles.

On your phone: More → Front Office, then pick Special Roles from the Choose a section dropdown.

On the dashboard: access to this website

  • The league owner always has full access. Nothing can lock the owner out, and some things — License & Billing, the Danger Zone — stay with the owner no matter what roles anyone holds.
  • Anyone holding the Commissioner Role you picked in Special Roles can open the dashboard too. The role is the list: give the Discord role, they are in; take it away, they are out.
  • Anyone else is added by the owner: open Front Office → the League Access tab, and under Who Has Access use Add a Person, then press Give League Access.
  • The owner can narrow what helpers see: on the same tab, open Choose What They Can Touch, tick the pages they may open, and press Save Access Settings. This list starts wide open — until you save a narrower one, anyone with access sees everything. It never limits the owner.

One rule that surprises people: the Co-Commissioner Role does not get dashboard access on its own. Co-commissioners keep every commissioner command in Discord, but if one of them should also change settings on the website, the owner adds them under League Access like anyone else. That is deliberate — handing out a Discord role should not quietly hand out your settings too.

The full picture is in How do I change who counts as a commissioner?.

How members get their team

A team is owned by whoever holds its Discord role. An open team is simply a team whose role nobody holds right now — there is no separate "open" switch.

  • Before the season, post the claim board from the Teams Hub's Team Claims tab and let members pick their team from it. See Team Claims.
  • During the season, use the Team Assignments tab on the same Hub. Assigning a team is one action: give the member their team's Discord role, and the bot works out the rest — the League Member role goes on, the waitlist role comes off.

The whole Hub is covered in Teams.

Commissioner commands in Discord

Commissioners can always use the commissioner commands — so can anyone with Administrator in your server. You never have to grant them anything.

If you want to share a particular tool with more people — say, a helper who settles bets — open Front Office → the Admin Commands tab. Each tool has a Roles That Can Use It picker: add the roles you trust and press Save. Back to League Default undoes it. The tab is walked through in the Admin Commands page.

When something looks wrong

  • My helper can't see a page or a Hub. That is the access list, not a fault. Front Office → League Access → Choose What They Can Touch — tick the pages they need and press Save Access Settings. A missing Hub means it was not given to them, never that it broke. (One other cause: the XP Hub disappears for everyone when the XP feature is switched off.)
  • The bot can't give someone a role. Role order. Drag the Franchise Hub role to the top of Server Settings → Roles in Discord and it sorts itself out within a few minutes.
  • I made someone a commissioner in Discord, but the dashboard says no. The dashboard follows the Commissioner Role picked in Special Roles — not Discord's Administrator permission, and not the Co-Commissioner Role. Either give them the commissioner role, or add them under League Access.
  • Somebody joined and never got the waitlist role. Check that the Waitlist Role slot in Special Roles actually has a role picked. An empty slot means that job quietly does nothing.
  • The bot won't update the server owner's nickname. It can't — Discord forbids it for every bot. The owner renames themselves by hand.

Going deeper