> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dontmisstwice.org/llms.txt
> Use this file to discover all available pages before exploring further.

# If something's off

> The usual suspects, and what they actually mean.

<AccordionGroup>
  <Accordion title="A Discord role doesn't match the roster" icon="rotate">
    Sync runs every two minutes, and immediately after any move. If it persists,
    `/roster sync` re-queues it.

    The database is right, so don't fix it by editing the role in Discord — the
    next sync will just put it back.
  </Accordion>

  <Accordion title="The dashboard says I can't do something" icon="lock">
    Your role is resolved at login. Sign out and back in after any Discord role
    change.

    If it still won't budge, check [permissions](/site-bot/reference/permissions)
    — roster access in particular is division-scoped, so being a lead somewhere
    doesn't grant it everywhere.
  </Accordion>

  <Accordion title="Nobody shows as available" icon="calendar-xmark">
    They haven't submitted schedules. `/admin/roster` counts how many are
    missing.

    Availability is self-service — staff can't fill it in on someone's behalf, by
    design. Point people at `/availability set`.
  </Accordion>

  <Accordion title="I can't pass a tryout yet" icon="star-half">
    The division requires a set number of evaluations before a decision. The
    error says how many you have and how many it needs.

    `/tryout config` shows and changes the requirement.
  </Accordion>

  <Accordion title="A player can't be added to a lineup" icon="user-xmark">
    They need a live membership in that division, and suspended players are
    refused outright.

    A lineup can't name someone the roster doesn't know — that's what keeps
    sheets honest.
  </Accordion>

  <Accordion title="Substitute usage is empty" icon="chart-simple">
    Appearances are counted from **played** lineups only. If sheets are being
    built but never closed out with `/lineup set status:played`, there's nothing
    to count.
  </Accordion>

  <Accordion title="A new command isn't showing up" icon="clock">
    Discord can take up to an hour to roll out command changes. Nothing is
    broken; it just hasn't propagated yet.
  </Accordion>

  <Accordion title="The bot looks offline" icon="plug-circle-xmark">
    The dashboard header chip goes stale after three minutes without a heartbeat.

    The bot restarts itself. If it stays down, the website is unaffected —
    everything except role sync, announcement mirroring, and the slash commands
    keeps working normally.
  </Accordion>

  <Accordion title="Trial reminders are posting in a public channel" icon="eye">
    A staff channel hasn't been configured, so reminders fall back to the
    announcement channel. Set `ROSTER_STAFF_CHANNEL_ID` on the server and
    restart the bot.
  </Accordion>
</AccordionGroup>

## Still stuck?

<Card title="Check the audit log" icon="scroll">
  `/admin/audit` shows every change with who, what, when, and from where. Most
  *why did this happen?* questions answer themselves there.
</Card>
