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 August 4, 2026 · Version 1.5

Recommended order

  1. Install the bot with channel and role permissions
  2. Choose Create Recommended Channels
  3. Select manager, Roster, and TC roles
  4. Enter the season, tier, and current period
  5. Confirm the three automatic panels
  6. Review imported Roster and TC players

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
#ecu-alertsEmergency 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 Manage Channels, Manage Roles, View Channel, Send Messages, Embed Links, Read Message History, and Attach Files. Mention Everyone is needed only if announcements should actually ping everyone.

2

Start guided setup

After installation, League Assistant posts a welcome panel in the server system channel or first channel it can use. Select Create Recommended Channels. If no welcome panel appears, grant the permissions above and run /setup.

3

Select management roles

Choose one to four authorized roles, such as Owner, GM, AGM, or an advisor. The bot creates a private management category, denies access to @everyone, and grants access to the selected roles. Members with Manage Server retain access.

4

Select player-group roles

Select the server's active Roster role and Training Camp role. Existing members carrying either role are imported immediately, including players whose profiles still need an EA Tag or position.

03

Player registration

Guided setup automatically posts the player-information panel in #player-information. The bot reuses existing LW, C, RW, LD, RD, and G roles when possible; otherwise it creates them. The manual /player-info-panel post command remains available if management wants to move or restore the panel later.

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. Role synchronization includes the player immediately and clearly marks any EA Tag, position, status, or contract information that still needs to be completed.

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

Create the management panel

Recommended: select Create Recommended Channels on the welcome panel. League Assistant creates or reuses the player and management categories, posts the player-information and management panels, and guides you through role and season configuration without requiring the individual setup commands.

Safe to run again

Guided setup reuses its saved categories, channels, and panel messages. It never deletes player information or creates a second copy of an existing saved panel.

Using channels you already created

Select Use Existing Channels, then run /management-panel post privately and 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

Guided setup

Enter the season number, team name, league tier or World Juniors, the phase and current period (for example regular 2 or playoffs 2), and that game week's Sunday date in YYYY-MM-DD format. The bot rejects invalid tiers, periods, dates, and dates that are not Sundays.

Automatic availability panel

Submitting this final setup form immediately posts the correctly dated availability board and live manager report for the selected week or playoff round. The configured Roster and TC roles are notified that availability is ready.

Manual panel setup

The management panel's Set Season control creates the starting period. If a server using the manual path is joining midseason, use Set Week immediately afterward to enter the actual week or playoff round and its 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

Scouting Hub

Scouting is an optional module intended for the short period between seasons. It stays behind one Scouting Hub button, so enabling it does not add a wall of permanent controls to the weekly management panel. Scouting profiles and official Roster or Training Camp status remain separate.

Enable a scouting period

Open Scouting Hub and select Enable Scouting. League Assistant creates or reuses a normal Discord role named Scouting. It uses the management panel's announcement channel for session sign-ups, general channel for selected lineups, and reports channel for private management records. An active standard season uses its configured season and tier. A completed standard season rolls forward one season, while World Juniors always rolls forward to the next numbered LG season without carrying the tournament name—for example, S54 World Juniors becomes S55 Scouting. With no configured season, the title is Upcoming Season Scouting.

Player registration is shared

Scouting players use the existing Player Information panel to select a primary position and enter an EA Tag. While scouting is active, completing either profile step adds the Scouting role. Existing profiles can press Join Scouting. This never assigns Roster or TC status.

Schedule and fill a session

1

Schedule the event

Select Schedule Session and enter the Eastern start time, sign-up deadline, expected game count, instructions, and one of three formats: private 6v6, public club, or practice. The announcement tags the server and posts position controls.

2

Let players register by position

Players may choose LW, C, RW, LD, RD, G, Utility, or several acceptable positions. They can change those choices or withdraw while the session remains open. EA Tag and primary position are required. A submission after the displayed deadline remains usable but receives a visible ⚠️ late marker.

3

Review sign-ups privately

Manage Sessions shows each player, EA Tag, selected positions, deadline status, total sign-ups, and assigned-lineup count. Managers may close sign-ups or cancel the session without deleting its record.

4

Build the lineup

Build Lineup presents six slots for Public Club or Practice and Team A plus Team B for a twelve-player Private 6v6. Choose a slot and then a signed-up player. Exact-position and Utility sign-ups appear first, and a player cannot occupy two slots.

5

Submit and notify

Every required slot must be filled. Submission publishes the complete lineup in the configured general channel and tags only the selected players. Reopening and resubmitting updates the original lineup and posts a fresh notice telling the selected group to review the revision.

Private evaluations and Bidding Board

Player Evaluations lets each manager save a private 1–5 rating, strengths, concerns, recommendation, and optional estimated bid. Managers can submit multiple evaluations for a player without overwriting another manager's record.

Bidding Board stores candidates as Priority Target, Strong Interest, Watchlist, Backup Option, Do Not Bid, or Needs More Scouting. Entries include the player's Discord account, EA Tag, primary position, estimated bid, and private notes. The board can be reviewed inside the hub or posted to the private reports channel.

Reports and closing scouting

Scouting Report posts session totals, player attendance, evaluation count, and the current Bidding Board privately. Close Scouting locks every open sign-up while preserving sessions, attendance, evaluations, and targets. Management chooses whether to leave the Scouting role in place or remove it from participating members. Enabling a future scouting period archives the closed program and starts a clean workspace.

Built for informal scouting

Scouting lineups check completeness and duplicate assignments, but they do not apply regulation game maximums, ECU limits, contracts, transaction rules, or official roster eligibility. Scouting sessions do not submit anything to LeagueGaming.

07

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.

08

Availability system

The player-facing board lists the exact Sunday, Monday, and Tuesday calendar dates above that week's Eastern game times. Players click individual games 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.

09

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.

11

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.

10

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.

12

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.

13

Transactions and offseason

Tier-aware management

The tier selected in Set Season controls the roster-movement choices, transaction deadlines, and rule references shown to management. Roster Movement covers TC promotions, higher-tier call-up tracking, completed-game updates, approved returns, protection status, transfer-wire send-downs, and waivers. Transactions records trades pending official LeagueGaming approval rather than changing the roster before the result is confirmed.

The bot records; LeagueGaming decides

Every transaction warning or block includes the relevant rule reference, but managers remain responsible for submitting moves officially and following corrections or staff rulings.

Completing the season

Complete Season creates a permanent snapshot of the roster, Training Camp, profiles, availability, lines, presets, weekly archives, and transaction history. The current availability board locks, reminders stop, and season-bound controls enter Completed / Offseason mode. Final roster and TC reports are posted without tagging players.

Reopen Season is the safety recovery for an accidental completion. It silently restores the existing period and availability board, keeps the completion archive, creates no replacement board, and sends no player notification. Set Season can then begin the next season while retaining server channels, roles, profiles, and historical records.

14

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.

15

Useful command reference

/setup

Reopen the guided setup panel if the automatic welcome message was unavailable or removed.

/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.

16

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.