Command reference
Every slash command GatorSys registers, grouped by the area it belongs to. Commands only appear in your server when their module is enabled, and many are additionally gated by your permission setup.
Can't find a command in Discord? Check that its module is toggled on in Modules, and that your role passes the command's permission gate.
General
| Command | What it does |
|---|---|
/help | View the help menu for the bot. |
/ping | Check the bot. |
/panel | Open the server management panel. |
/diagnostics | Run an all-in-one bot health scan. |
/variables | Show supported embed/message variables. |
/ask | Ask the bot how to use bot features and commands. |
Staff management
| Command | What it does |
|---|---|
/staff profile | Open the linked staff profile for a member. |
/staff wave | Punish people failing the quota. |
/staff view | View the activity results. |
/staff manage | Manage a staff member's message count. |
/staff messages | Display the message count of a staff member. |
/staff reset | Reset the message quota leaderboard. |
/staffops profile | Open a linked staff profile. |
/staffops timeline | Show a staff member's timeline. |
/staffops notes | Show private manager notes for a staff member. |
/staffops add-note | Attach a private, audited manager note to a staff profile. |
/staffops action-required | Show staff decisions that need attention. |
/staffops score | Show reputation and promotion-readiness scoring for a staff member. |
/staffops template | Apply a prebuilt Staff Operations setup. |
/wellness dashboard | Open staff wellness and LOA insights. |
/activitycheck start | Start a lightweight activity check. |
/activitycheck respond | Mark yourself active for the latest check. |
/activitycheck status | Show the latest activity check status. |
/commandstaff dashboard | Open the command staff dashboard. |
/infractions multiple | Infract multiple staff members at once. |
/staff request | Ask for more staff in game. Gated by cooldown and staff-on-shift limits. |
Game logs written by hand
Game Logs routes everything the ER:LC API reports — joins, leaves, kills, in-game commands — on its own. These three are the ones nothing can generate for you, because they record a decision rather than an event. Each posts to its own channel under Game Logs, falling back to the shared fallback channel.
| Command | What it does |
|---|---|
/game message | Log an announcement you made in game. |
/game sts | Log a shoulder-to-shoulder: who took part, how long, why. |
/game priority | Log a roleplay priority: which players, how long, why. |
/staff request calls for backup from in game. It has three limits, all configurable, all of them
there for a reason: a cooldown so it cannot be pressed eleven times, a minimum staff on
shift so it cannot ping at 3am for an empty server, and a maximum so it cannot ping the whole
team when eight people are already on.
ER:LC server tools
/prc and /erlc are the same commands under two names. ER:LC has been called both, staff teams
migrating from other bots have one of them in their fingers, and typing the other and getting
nothing reads like a missing feature. They share one implementation — there is no way for the two
to behave differently.
| Command | What it does |
|---|---|
/prc status · /erlc status | Live player count, queue, staff on duty, join code. |
/prc panel · /erlc panel | Compact live control panel. |
/prc players · /erlc players | Everyone currently in the server. |
/prc staff · /erlc staff | Staff currently in the server. |
/prc queue · /erlc queue | The current join queue. |
/prc teams · /erlc teams | Players grouped by team. |
/prc permissions · /erlc permissions | Every player's in-game permission level. |
/prc vehicles · /erlc vehicles | Vehicles currently spawned. |
/prc modcalls · /erlc modcalls | Recent moderator calls. |
/prc bans · /erlc bans | Current server bans. |
/prc check · /erlc check | Whether a player is online, with team, permission and callsign. |
/prc refresh · /erlc refresh | Respawn and refresh a player. |
/prc unlink · /erlc unlink | Disconnect this server from ER:LC. |
/erlc mass-unban | Unban a list of players at once, reporting each one. |
/prc link | Connect this Discord server to an ER:LC private server. |
/prc pm | Send a private in-game message. |
/prc message · /prc hint | Send a server message or hint. |
/prc command | Run an approved ER:LC command. |
/prc joinlogs · /prc killlogs · /prc commandlogs | Recent logs from the API. |
/prc playerlogs | Search recent logs for one player. |
mass-unban posts one :unban at a time with a short gap, because a burst of fifty gets most of
them rejected by rate limiting. It reports which ones took and which did not, per player — the
whole reason to run it is that doing it by hand is where people get missed.
Player punishments
/punish files a case against an ER:LC player. The target field searches Roblox itself: players
currently in your linked server are listed first and marked 🟢, then everyone else, shown as
Display Name (@username) so the two names are never confused. Whatever you pick is resolved
against Roblox before anything is written — a case filed against a username with a typo in it is a
case nobody finds again.
The same search is on every field in the bot that names a player: /prc check, /prc pm,
/prc refresh, /prc playerlogs, /prc command, /erlc check, /erlc refresh, /search,
/userid, /tempban and /punishment issue.
Name several players, separated by commas or spaces, to punish a group in one command. You get one summary listing every case filed and, separately, anybody it could not be filed against.
| Command | What it does |
|---|---|
/punish | File a punishment. Accepts several players at once. |
/tempban | Temporarily ban a player, with a duration. |
/punishment issue | The same as /punish, inside the group. |
/punishment view | Read one case. |
/punishment manage | Review a case, fix its reason, void it, or read the player's history. |
/punishment revoke | Revoke a case, unbanning in game where that applies. |
/punishment history | Every case for a player, or for the server. |
/punishment active | Cases still in force. |
/punishment leaderboard | Rank the players punished, or the staff issuing them. |
/bolo active | Active BOLO records. |
Who may issue what
Permission is per punishment type, not per command. Warnings, notes and kicks are staff; bans, temporary bans and BOLOs are management. One blanket check on the whole command meant a server either let its moderators ban or stopped them warning, and neither is what anybody wants.
A punishment type you add yourself can name its own tier. One that runs an in-game command and does not name a tier defaults to management — the safe answer to "somebody added a type and did not say who may use it".
Case ids count: P1, P2, P3 per server. They used to be random hex, which is unreadable over
voice chat, in no order, and eventually collides inside one busy server's history.
What the confirmation, the log and the DM show
All three carry the player's avatar headshot and read top to bottom in one column rather than as a row of inline fields, which reflow into an unreadable grid on a phone.
The confirmation you get back shows the whole record you just wrote — moderator, case id,
reason, time, and the player's username, Roblox id, profile link, type and points. The point of a
confirmation is to let you catch a mistake in the second after you make it, and you cannot catch
the wrong Builderman from a case id alone. If the player has an active BOLO, it says so
prominently.
The log adds one thing ERM's does not: how much history the player already had at the moment the case was filed. That is the first thing anybody reading the channel wants to know — is this their first, or their ninth — and it saves a lookup at exactly the moment somebody is deciding whether the punishment was proportionate.
The DM to a linked player names the punishment type, the reason and the case id. It deliberately does not name the moderator or include the staff notes: the person being told cannot reply to a bot DM, so naming who filed it only invites them to go and find that person, and the notes are where staff write what they would not say to the player's face.
Departments
/department is the whole department surface in Discord. Setup still reads better on the
Departments tab — the dashboard has pickers and side-by-side views a slash
command cannot give you — but everything a department does day to day is here.
Every subcommand takes a department argument with autocomplete over the departments this server has actually configured.
| Command | What it does |
|---|---|
/department roster | Roster and rank coverage. |
/department member | One member's department assignment and record. |
/department profile | View a department profile. |
/department profile-set | Create or update a department profile. |
/department profile-rank | Add or remove a rank role from a profile. |
/department page | The department's page: resources, shouts, patrol logs. |
/department logs | Department audit events. |
/department shout | Post a department announcement. |
/department briefing | Issue a command briefing, with a severity. |
/department resources | List the department's saved documents and links. |
/department resource-add | Save a document, link or attachment to a department. |
/department patrol-log | Record a patrol or activity log. |
/department intelligence | Incident intelligence over the last 1–90 days. |
/department network | Multi-server department network operations. |
Department shifts
These run against the department's own settings — its on-duty and break roles, its shift log channel, its headcount limit, its named shift types, its nickname prefix — and fall back to the server's settings for anything the department has not set.
They are not a second shift system. A department shift is an ordinary shift with a department on it,
written to the same records /shift and /duty use, so every existing report stays correct.
| Command | What it does |
|---|---|
/department shift manage | Your shift panel: clock in, break, resume, clock out. |
/department shift active | Who is on duty, in one department or all of them. |
/department shift leaderboard | Shift time ranked within a department. |
/department shift quota | Who has met the department's required hours, and who is short. |
/department shift mine | Your own department shift record, split by department. |
Working a shift is one command with buttons, not three. Nobody thinks "I will now run the break command" — they think "I am stepping away" — and the panel is where that lands. Buttons that cannot apply are disabled rather than left to fail: a panel offering "End shift" to somebody off duty is a panel that produces confusing errors.
Department shifts need the Department module, not the server-wide Shifts module. They are not the same thing — a department declares its own roles, channel, limit and types, and a server can run its whole rota through departments without ever having a server-wide shift. What a department does need is to have set at least one of those things, and if it has not, the message names the department and the screen rather than a module.
quota measures against the department's required hours, set under its Activity settings. A
department that has not set one is told so rather than measured against zero — a quota report that
marks everybody compliant because the target is unset is worse than no report.
Department infractions
| Command | What it does |
|---|---|
/department infraction issue | Infract a department member, tagged with the department. |
/department infraction list | Infractions in one department, with a breakdown by type. |
issue runs the real infraction engine — escalation chains, the approval queue, the configured log
channel, the DM and the confirmation embed all behave exactly as they do for /infraction issue.
The only difference is that the record it writes carries the department, which is what makes
/department infraction list and the per-department reports possible.
Shifts and activity
/shift works for the whole server by default. Pass department and it runs under that
department's settings instead: its on-duty and break roles, its shift log channel, its limit on how
many people may be on at once, its named shift types, and its on-duty nickname prefix. Anything the
department has not set falls back to the server's setting rather than being blank.
You are only asked which department when the answer is genuinely ambiguous — a member of exactly one department that runs shifts gets it picked for them.
| Command | What it does |
|---|---|
/shift start | Clock in. Takes an optional department and type. |
/shift break | Pause the shift and swap to the break role. |
/shift resume | Come back from a break without starting a second shift. |
/shift end | Clock out, remove the duty roles, and write the final record. |
/shift status | Show a current shift, its department, and time worked. |
/shift active | Show everyone on shift now, and how many places are left. |
/shift history | Recent shifts, optionally narrowed to one department. |
/shift leaderboard | Rank staff by tracked duty time. |
/activity report | One member's shift time, message count, quota, and leave. |
/activity leaderboard | Rank configured staff roles by shift time. |
Leave
Leave of Absence and Reduced Activity are one record with a type on it, not two systems. They are the same thing with a different promise attached: one says "I am away", the other says "I am here but less". Building them separately would have meant a second set of requests, approvals, extensions, expiry sweeps and reports — five things that drift apart the first time one gets a bug fix.
So there is one command, and it asks which. /loa and /ra still work as message-prefix aliases.
| Command | What it does |
|---|---|
/leave request | Ask for leave. Choose Leave of Absence or Reduced Activity. |
/leave active | Everyone currently on leave, with each one's type. |
/leave pending | Requests waiting on a decision. |
/leave history | Your past leave. |
/leave manage | Your own leave: extend it, cut it short, end it. |
/leave admin | Manage another member's leave, or create one for them. |
Every leave recorded before this existed has no type stored, and all of those are absences — they read as Leave of Absence rather than as an unknown third kind, which would have broken every count that groups by type.
The module is called Leave on the dashboard, but its stored key is still LOA. Renaming the
key would have silently switched the module off for every server that had already configured it.
Automations
An automation is "when this happens, do these things". Build one in the Automations tab — it needs role and channel pickers — and manage it from here.
| Command | What it does |
|---|---|
/automation list | Every automation, whether it is on, and when it last ran. |
/automation view | One automation's trigger, conditions, and ordered steps. |
/automation toggle | Switch one on or off. |
/automation run | Run one now, without waiting for its trigger. |
/automation history | What the automations have actually done recently. |
/automation delete | Delete one. Its run history is kept. |
/automation run ignores the rule's conditions and cooldown on purpose. You pressed it to see what
the automation does; a run that silently declines because a cooldown has not elapsed tells you
nothing.
Applications, forms & training
| Command | What it does |
|---|---|
/application start | Start an application in DMs. |
/application status | Show your recent application statuses. |
/application link-department | Link an application to a department profile. |
/forms list | List saved reusable form templates. |
/training schedule | Create a training session. |
/training roster | Show the roster for the latest training. |
/training grade | Select a hosted training and attendee to grade. |
/training guide | Show the training usage guide and defaults. |
Tickets, AI support & modmail
| Command | What it does |
|---|---|
/ai reply | Continue the AI conversation in this ticket. |
/ai status | Show AI status for this ticket. |
/ai summarize | Summarize this ticket for staff. |
/ai lock | Stop AI replies in this ticket (staff only). |
/ai unlock | Re-enable AI replies in this ticket. |
/context list | List the context used by AI tickets. |
/context add | Add a new context item for AI tickets. |
/context remove | Remove a context item by exact text match. |
/modmail-export | Export a saved modmail transcript. |
/modmail-sla | Configure modmail SLA reminders. |
/ba accept | Accept a ban appeal (manual). |
/ba deny | Deny a ban appeal (manual). |
Submissions & workflow
| Command | What it does |
|---|---|
/submission-history | Show the audit history for a submission. |
/submission-export | Export a submission and its action history. |
/submission-undo | Undo the last reversible submission action. |
/submission-sla | Configure submission SLA reminders. |
Sessions
| Command | What it does |
|---|---|
/sessions start | Start the session. |
/sessions shutdown | Shutdown the session. |
/sessions full | Mark the session as full. |
/sessions boost | Boost the session. |
/sessions vote | Start a session vote. |
/sessions schedule | Record and post a scheduled session. |
/sessions attendance | Capture a PRC attendance snapshot for the current session. |
/sessions analytics | Show session analytics for recent sessions. |
/sessions summary | Build a post-session summary for a session. |
Community
| Command | What it does |
|---|---|
/giveaway create | Create a new giveaway. |
/giveaway reroll | Reroll a giveaway winner. |
/giveaway end | Force end an active giveaway. |
/giveaway list | List active giveaways. |
/partner count | List partnership representatives and latest ad links. |
/partner partnership | Create and preview a partnership advertisement. |
/partner stats | Show partnership activity stats by user. |
/partner manager | Review partnerships posted by a specified user. |
/package create | Create a new package draft. |
/package send | Publish a package to a channel. |
/package list | List available packages. |
/package logs | View recent package purchase/claim logs. |
/package delete | Delete a package. |
Connection roles
| Command | What it does |
|---|---|
/connectionroles add | Add a connection role to your server. |
/connectionroles remove | Remove a connection role from your server. |
/connectionroles list | List all connection roles in your server. |
/connectionroles sync | Sync connection roles to all members. |
Operations suite
| Command | What it does |
|---|---|
/lfg create | Create a looking-for-group post. |
/lfg join | Join an active LFG post. |
/lfg list | List active LFG posts. |
/snapshot create | Create a self-healing server config snapshot. |
/snapshot list | List recent server config snapshots. |
/timeline show | Generate an incident timeline. |
/aipolicy set | Set AI policy builder text. |
/aipolicy view | View AI policy builder settings. |
/aipolicy append | Append a SOP or policy section. |
/aipolicy ask | Ask the configured SOP/policy assistant. |
/federation link | Link this server to a federation network. |
/federation list | List servers in this federation network. |
/socialintegrations add | Add a social/announcement integration route. |
/socialintegrations list | List social/announcement integration routes. |
Custom commands & AI tooling
| Command | What it does |
|---|---|
/custom-command-diagnostics | Scan custom commands and auto-repair sync issues. |
/ai-generate-template | Generate a command or message template draft with AI. |
/ai-safety-filter | Toggle AI moderation for public-facing custom command output. |
Owner-only
| Command | What it does |
|---|---|
/say send | Send a message to a channel. |
/say preview | Preview the message as an ephemeral response. |
Commands created in Commands & Templates on the dashboard register as additional slash commands specific to your server — they're yours, so they aren't listed here.