First-time manager handbook

Set up your team.
Run every week.

A complete walkthrough for installing League Assistant, preparing your server, registering players, reading reports, communicating with the team, and advancing the season safely.

Guide updated July 26, 2026

Recommended order

  1. Install bot and grant channel access
  2. Register manager, Roster, and TC roles
  3. Post the player-information panel
  4. Post the management panel
  5. Set the season and current week
  6. Synchronize the roster and TC

01

Before you start

League Assistant is designed for a team server with separate player-facing and management-only channels. A server Administrator should perform the initial setup. After manager roles are registered, Owners, GMs, AGMs, and an optional advisor role can operate the team tools without receiving full Discord Administrator access.

Installation check

The bot must appear as a member of the server. If slash commands work but the bot is absent from the member list, the application was installed with commands only. Reinstall it using both the bot and applications.commands scopes.

Recommended channels

#team-managementPrivate control panel
#team-reportsPrivate live reports and tickets
#availabilityWeekly player availability board
#player-informationEA Tag and position registration
#generalEmergency ECU alerts
#team-announcementsOfficial management notices

02

Server and role setup

1

Place the bot role correctly

Move the League Assistant role above every position role it will assign. Give it View Channel, Send Messages, Embed Links, Read Message History, and Manage Roles. Mention Everyone is needed only if announcements should actually ping everyone.

2

Grant private-channel access

Add the League Assistant role to the private management category. Your own Administrator access does not automatically give the bot access. The bot checks all five panel channels during setup and names any channel it cannot use.

3

Register manager roles

Use /settings manager-role add once for each authorized role: Owner, GM, AGM, and any optional advisor or management role. Only a member with Discord’s Manage Server permission can add or remove these roles. Use /settings manager-role list to confirm them.

4

Register player-group roles

Run /settings player-group-role set and choose the server’s active Roster role and Training Camp role. They must be different roles and cannot be @everyone.

03

Player registration

Run /player-info-panel post and select the player-information channel. The bot reuses existing LW, C, RW, LD, RD, and G roles when possible; otherwise it creates them.

What players do

Players click their primary position. The bot removes their previous configured position role, applies the new one, and saves the selection. They then click Enter EA Tag, type the exact tag, and submit the private form.

What managers do

Apply either the Roster or TC role after reviewing the player. The profile is not included in a synchronized group until it has an EA Tag and the matching group role.

Players Without Roles

Current Roster and Current TC reports include registered players who have an EA Tag but no Roster or TC role, giving management a clear assignment checklist.

04

Post the management panel

Run /management-panel post in a channel where you can complete the setup privately. Select these five destinations:

OptionPurpose
management-channelWhere the permanent manager buttons live.
reports-channelAvailability, roster, TC, ticket, ECU, and announcement audit reports.
availability-channelWhere the current weekly availability board is posted.
general-channelWhere urgent ECU alerts tag Training Camp players.
announcement-channelWhere formatted management announcements are published.

The resulting embed shows team/season information, game-week dates, the availability deadline, the official weekly-line deadline, roster and TC counts, archived-week count, and the configured output channels. Only configured managers and members with Manage Server can use its controls.

05

Set the season and current week

Set Season

Enter the season number, regular or playoffs, team name, league/tournament name, and the Sunday date for the first or current game week in YYYY-MM-DD format. The bot rejects invalid phases, invalid dates, and dates that are not Sundays.

Joining midseason

Set Season initially creates Week 1. Immediately use Set Week to enter the actual week number and that week’s Sunday date. Existing boards are preserved rather than silently deleted.

World Juniors

Enter World Juniors, WJC, or WJ as the league/tournament. It uses four regulation weeks with nine games every week—there is no Week 4 twelve-game schedule. Advancing from regulation Week 4 automatically enters Playoff Round 1.

Standard LG season

Regular weeks use nine games: Sunday, Monday, and Tuesday at 9:00, 9:35, and 10:10 PM Eastern. Standard regulation Week 4 automatically uses twelve games, adding the 8:30 PM game each night.

06

Recommended weekly routine

Sunday–Tuesday

Run games, monitor roster/TC assignments, and use Emergency ECU only when a short-notice replacement is needed.

Before Friday

Use Notify Players if a reminder is needed. Review the live Availability Report and post Missing Availability to the manager channel.

Friday 11:59 PM ET

The deadline notice posts, the report refreshes, and missing players are identified. The buttons remain active, but every later submission or change is clearly marked late for management.

After the week

Confirm the current information, then use Advance Week. The old state is archived and the next board is created automatically.

07

Availability system

Players click individual game times to toggle them on or off. Sun ×3, Mon ×3, and Tue ×3 select or clear a full day; Week 4 displays ×4 where applicable. Full Avail selects every game, and Unavailable all week records a completed zero-game response. Every click saves immediately and refreshes the private manager report.

Private player response

After each selection, the player sees only their own saved games. View my availability retrieves that summary without changing it.

Private Ticket

A player can report a changed commitment, inability to meet the minimum, or a player concern. Tickets stay available after the board closes and arrive in the private reports channel with ticket number, player, week, reason, EA Tag, position, and Open status.

The normal deadline is calculated as Friday at 11:59 PM in America/New_York, so Eastern daylight-saving changes are handled automatically. After the deadline, the current board remains usable to prevent players from returning to free-form text posts. A late submission is saved normally, the player receives a private warning, and the manager report displays an ⏰ LATE marker with the submission time. Advance Week locks the outgoing board permanently.

08

Reports and embed format

Manager Availability Report

This is a single live embed edited after every player response. The top shows the deadline, total submissions, and minimum availability standard. Roster and TC are separated, followed by their missing-player sections.

Green check

Player submitted at least 6 of 9 games—or 8 of 12 in standard Week 4—and included one complete game day.

Warning

Player submitted, but the saved games do not meet that displayed minimum. This is a management warning, not an automatic discipline decision.

Missing

No response has been saved for that player on the active board.

Current Active Roster

Players are grouped LW, C, RW, LD, RD, and G with counts against the 3/3/3/3/3/2 structure. The embed turns green only at exactly 17 players with the complete position distribution; otherwise it warns managers to review the counts. It also lists profiles without a position and registered players without a Roster or TC role.

Current Training Camp

TC players are grouped by registered position for convenient searching, but the report does not position-lock them. This matches the operational rule that a TC may ECU out of position. Players without a selected position and players without a group role appear separately.

Missing Availability

This creates a timestamped report in the private reports channel with numbered Roster and TC sections. It does not DM or punish anyone; it gives managers a clean follow-up list.

10

Communications and emergency ECU

Notify Players

Posts a reminder beneath the current board and mentions the configured Roster and TC roles. It is safe to use more than once, but managers should avoid unnecessary notification spam.

Announcement

Opens a title and message form, then publishes a red management embed under a large announcement header. Each announcement receives a number and is logged privately with its channel and publisher. If the bot lacks Mention Everyone permission, the message still posts and the manager receives a warning that the ping may not notify everyone.

Emergency ECU

The red button accepts only LW, C, RW, LD, RD, G, or Any, plus game details. It posts an urgent alert in the configured general channel, tags the TC role, includes a direct channel link, and DMs every known TC player. A private audit embed records the requester, position, game, delivered-DM total, and failed recipients. Players who block DMs can still see the server alert.

09

Building and submitting lines

The lineup builder is operated entirely from the private management panel. It prepares and validates team records inside Discord; it does not log into LeagueGaming or submit the official website form.

Create reusable chemistry units

Use Line Presets on the management panel to create permanent units that can be reused every week. Forward units and defensive pairings are intentionally separate, allowing managers to combine—for example—Line A with Pair B in one game and Line A with Pair C in another.

Forward Unit

Name it Line A, Line B, Line C, or any team-friendly label, then assign LW, C, and RW. Only synchronized roster forwards are available, but any roster forward may occupy any forward position.

Defense Pair

Name it Pair A, Pair B, Pair C, or another label, then assign LD and RD. Any synchronized roster defenseman may occupy either side.

Preset selections save immediately, remain available after Advance Week, and can be reopened through View / Edit Presets. Delete a preset when it is no longer part of the team plan. Presets contain active-roster players only; TC replacements are made on the individual game line as ECUs.

1

Synchronize players first

Press Current Roster and Current TC. Only registered players with an EA Tag and the appropriate Discord group role appear as lineup candidates.

2

Choose Build Lines

Select one of the current week’s nine games—or twelve games during a standard Week 4. Each game maintains its own saved draft and displays how many of the six positions are filled.

3

Apply the planned units

Choose Add Forward Unit and select the desired saved line, then choose Add Defense Pair independently. The five preset players fill their positions together. Select the goalie separately.

4

Make availability substitutions

A preset is the preferred chemistry plan, not a forced lineup. If someone cannot play, select that individual position and replace only that player with another eligible roster player or a TC ECU. The rest of the forward unit or defense pair remains unchanged.

5

Fill positions manually when needed

Managers never have to use a preset. Choose LW, C, RW, LD, RD, or G and select candidates individually. Eligible roster players appear first; TC players follow, with matching registered positions placed near the top.

6

Review the context

Each candidate shows an availability mark and current usage. In the lineup embed, ✅ means available for that game, ⚠️ means not selected, and ❔ means no availability submission. Availability is guidance rather than a hard block, allowing management to handle a legitimate last-minute update.

7

Submit and notify the players

All six positions must be filled. Press Submit Line to publish the management record in the private reports channel and a player-facing assignment in the configured announcement channel. Only the six selected players are tagged. The announcement shows the week, game day, time, position assignments, EA Tags, and any TC/ECU designation.

Eligibility enforced by the builder

No duplicate player

A player cannot occupy two positions in the same game.

Roster position families

Roster forwards may play LW, C, or RW. Every roster LD and RD appears as an option for either defense side, with exact-side matches listed first. Roster goalies remain locked to G.

TC flexibility

A synchronized TC may be assigned to any position; every such assignment is recorded as an ECU.

Weekly game maximums

Roster skaters are limited to three games, four in standard regulation Week 4. Roster goalies are limited to six. World Juniors Week 4 remains three for skaters.

ECU tracking

The bot counts regulation TC assignments toward the tracked nine-game seasonal ECU limit and blocks a tenth assignment.

Late substitutions

After the scheduled game time, the builder blocks a new roster replacement and requires a TC ECU. It warns when an ECU is recorded outside the five-minute substitution window.

Reviewing and changing lines

Review Lines opens any game and its saved draft. Game Changes lists submitted games and reopens the selected line. Changing a player returns the line to Draft status; press Resubmit Updated Line when finished. The bot posts a new replacement report and player announcement, lists every position changed from the previous player to the replacement, and then removes the original posts. This leaves one current line while clearly explaining the reason for the revision.

Submit Lines is a shortcut to select, review, and submit a game. ECU Usage posts a season-to-date report showing each TC player’s tracked appearances out of nine.

Official submission remains a manager responsibility

A green submitted line means the Discord team record passed the bot’s implemented checks. Managers must still enter the line on LeagueGaming and remain responsible for official rulings, eligibility classifications, and any league action not represented in Discord.

11

What Advance Week does

Advance Week is deliberately a two-step action. The first click displays the destination week and date; nothing changes until a manager presses the red confirmation button.

1

Archive
Saves the current week number, date, roster, TC, availability-board reference, and matching line records.

2

Lock
Disables the old board’s game-selection buttons while preserving View Availability and Private Ticket.

3

Advance
Adds seven days and increments the week or playoff round. WJC Week 4 becomes Playoff Round 1.

4

Rebuild
Creates the correct nine- or twelve-game schedule with a fresh empty submission record and Friday deadline.

5

Notify
Posts the new player board, mentions Roster and TC, creates a fresh live report, updates the panel, and logs the manager action.

Information preserved

EA Tags, player profiles, configured roles, Roster/TC assignments, tickets, announcements, and prior-week archives are not erased. “Reset” means the new week begins with no availability selections—not that player records are deleted.

12

Rules-based safeguards

Permission boundaries

Only Manage Server can change bot role settings. Panel controls require a configured manager role or Manage Server.

Channel preflight

Panel setup checks that the bot can view, send, embed, and read history in every selected channel before saving.

Date validation

Season and week dates must be valid Sundays. Manual board deadlines must be future Fridays. Deadlines use Eastern Time.

Schedule protection

Standard Week 4 receives the extra nightly game automatically. World Juniors always remains a nine-game regulation schedule.

Availability warnings

The report highlights responses below the displayed minimum or without a complete day, while leaving final rule decisions with management.

Deadline audit

Missing responses are reported when the deadline passes. Later submissions stay structured inside the bot and receive a visible late marker and timestamp. The outgoing board locks when management advances the week.

Roster structure check

The roster embed validates 17 total players and the 3/3/3 forwards, 3/3 defense, and 2 goalie structure.

Recoverable week change

Advance Week requires confirmation and archives the outgoing week instead of deleting it.

Auditable outreach

Announcements and emergency ECU requests create private records showing who sent them and whether delivery failed.

Scope of validation

The active lineup builder enforces its recorded position-family, duplicate-player, weekly game maximum, late-roster-substitution, and ECU-count checks. It does not replace LeagueGaming staff rulings or submit to the LG website.

13

Useful command reference

/settings manager-role add|remove|list

Server-admin control over manager access.

/settings player-group-role set|list

Configure Roster and TC role synchronization.

/player-info-panel post

Post the EA Tag and position registration panel.

/management-panel post

Create or move the main panel and configure its five channels.

/current-roster / /current-tc

Synchronize Discord roles with registered profiles and display the result.

/availability-board post

Manual board creation when the panel-managed season workflow is not being used.

/mass-pm

Send a management message to every synchronized roster player and report failures.

14

Troubleshooting

Commands work, but the bot is not in the member list

Reinstall with both bot and applications.commands scopes. A command-only app installation does not add the bot user to the server.

The bot says it cannot access a channel

Add the League Assistant role to that channel or its category and explicitly allow View Channel, Send Messages, Embed Links, and Read Message History. Channel overrides can block permissions granted at the server level.

The bot cannot assign position roles

Give it Manage Roles and move the League Assistant role above all six position roles. Discord never allows a bot to manage roles above its own highest role.

A player is missing from Roster or TC

Confirm the player submitted an EA Tag and has the correct Discord Roster or TC role, then press Current Roster or Current TC to synchronize again.

An announcement posts but does not ping everyone

Enable Mention @everyone, @here, and All Roles for the bot in the announcement channel.

A TC player did not receive an ECU DM

The player may block server-member DMs or the bot. The general-channel alert remains the backup, and the private ECU report lists delivery failures.