Skip to content

Modules

Rosters

One message the bot keeps up to date: ranks that follow real Discord roles, or your own sections as a team sheet.

A roster is one message the bot keeps up to date, not a command that prints a list. Pin it and it stays right, because every change redraws it in place.

Or just tell the bot#

Say it in chat
set up the roster
make the roster go to #roster
add this guy to the unit roster        (as a reply)
put @Dom on the roster as Weekend shift
take @Dom off the roster
dispresso promote @Dom
dispresso move @Dom up the roster
dispresso who is on the roster

Promote, demote, move up or down and who is on it all run the same !roster verbs. Giving somebody one of the roster's rank roles by hand puts them on it at that rank, and taking their last rank role off takes them off, with no sentence at all. Start with dispresso or mention it. It asks for anything it still needs, writes the same settings the dashboard writes, and the whole list of sentences is on Talk to Dispresso.

Setup#

!roster setup #staff posts it. Open Rosters in /botdashboard or on the dashboard to set the rank ladder, the colour, and how each line reads. The rank ladder can only be set there: !roster ranks shows it and nothing in Discord writes it.

Ranks, or sections#

With no sections named, a roster groups people by their rank roles, and the ladder is your Discord role order rather than a list you keep by hand. Promoting somebody moves the role and the line together. Name sections instead, with !roster sections Captain | Players | Subs, and the same board becomes a team sheet whose headings are your own words and where nothing grants anything. Clearing the sections turns it back, and nobody comes off the roster either way.

Start from a template#

You do not have to decide five things before anything appears. Open Rosters on the dashboard and pick a shape: Staff Roster, Rank Ladder, Clan Roster, Esports Roster, Organisation Roster, Community Board, Content Team or Unit Roster. A template sets the title, the colour, the headings and the line format in one go, and it never touches your channel or your roles, so you can try another one without losing anybody.

How it looks#

Three formats, and they stack. Set a title, a colour, a rank heading style and a line format with {member}, {label}, {rank} and {section}. Shape a whole rank block with {rank} and {members}. Or draw the roster inside one of your saved Embed Builder embeds with !roster embed, putting {roster} in its description to choose where the names go. The embed is referenced rather than copied, so editing the design changes the roster next time it redraws.

The line and rank block formats are set on the Rosters page of the dashboard, with a live preview, or from Discord: !roster format shows both as they stand with an Edit button that opens the editor, and saving redraws the roster in its channel, which is the preview. A rank block format without {members} is refused rather than saved. !roster format reset puts the original look back. Both places write the same setting.

A roster too long for one message continues into more, in every format. A custom embed carries its design on the first page only, so a banner is not repeated five times down the channel.

More than one#

!roster new team-1 #team-1 Team 1 starts another. Commands act on the roster whose channel you type them in, so !roster add @member in #team-1 adds to that team sheet. !all lists every roster this server runs and the channel each one lives in, which is the way back when you have forgotten where one is.

Commands#

Every one of these has a /roster twin with the same verb.

Copy and paste
!roster setup [#channel]        post the living roster
!roster add @member [label]     put somebody on it
!roster remove @member          take them off. Their roles are untouched
!roster promote / demote        one rank up or down, role and line together
!roster move @member up|down    reorder somebody inside their own rank
!roster list                    who is on it, printed here, without redrawing the board
!roster ranks                   the rank ladder as the bot reads it, lowest first
!roster sections <names>        your own headings instead of rank roles
!roster title <title>           rename the embed
!roster format [reset]          the line and rank block templates
!roster embed [name]            draw it inside a saved Embed Builder design
!roster refresh                 redraw it, and re-post it if the message was deleted
!roster new <name> <#channel> [title]   a second roster
!roster delete <name>           remove a roster and clear its message
!roster boards                  every roster here and where it is. Also !all

Two of those are worth keeping apart. !roster remove takes somebody off the board and leaves every role they have alone; !roster delete takes away the whole board. !roster refresh is the fix when somebody has deleted the message a roster lives in: it puts it back rather than needing a fresh setup.

  • !roster setupalso /roster setup
    `!roster setup #staff` posts the living roster in a channel.
  • !roster addalso /roster add
    `!roster add @member Weekend shift` puts somebody on the roster. `!roster remove` takes them off and leaves their roles alone.
  • !roster promotealso /roster promote
    Moves somebody one rank up, role and roster together. `!roster demote` goes the other way.
  • !roster ranksalso /roster ranks
    The rank ladder, lowest first, as the bot reads it. The ladder itself is set on the dashboard.
  • !roster sectionsalso /roster sections
    `!roster sections Captain | Players | Subs` turns a rank ladder into a team sheet.
  • !roster titlealso /roster title
    Renames the board. Its colour, line format and rank block template are on the dashboard.
  • !roster embedalso /roster embed
    `!roster embed Team Sheet` draws the roster inside one of your saved Embed Builder embeds.
  • !roster newalso /roster new
    `!roster new team-1 #team-1 Team 1` starts another one. `!roster boards` lists them, `!roster delete` removes one.
  • !roster listalso /roster list
    Who is on it, without touching the board. `!roster move @member up` reorders within a rank.
  • !roster refreshalso /roster refresh
    Redraws it, and re-posts it if somebody deleted the message.