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

CommandWhat it does
/helpView the help menu for the bot.
/pingCheck the bot.
/panelOpen the server management panel.
/diagnosticsRun an all-in-one bot health scan.
/variablesShow supported embed/message variables.
/askAsk the bot how to use bot features and commands.

Staff management

CommandWhat it does
/staff profileOpen the linked staff profile for a member.
/staff wavePunish people failing the quota.
/staff viewView the activity results.
/staff manageManage a staff member's message count.
/staff messagesDisplay the message count of a staff member.
/staff resetReset the message quota leaderboard.
/staffops profileOpen a linked staff profile.
/staffops timelineShow a staff member's timeline.
/staffops notesShow private manager notes for a staff member.
/staffops add-noteAttach a private, audited manager note to a staff profile.
/staffops action-requiredShow staff decisions that need attention.
/staffops scoreShow reputation and promotion-readiness scoring for a staff member.
/staffops templateApply a prebuilt Staff Operations setup.
/wellness dashboardOpen staff wellness and LOA insights.
/activitycheck startStart a lightweight activity check.
/activitycheck respondMark yourself active for the latest check.
/activitycheck statusShow the latest activity check status.
/commandstaff dashboardOpen the command staff dashboard.
/infractions multipleInfract multiple staff members at once.
/staff requestAsk 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.

CommandWhat it does
/game messageLog an announcement you made in game.
/game stsLog a shoulder-to-shoulder: who took part, how long, why.
/game priorityLog 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.

CommandWhat it does
/prc status · /erlc statusLive player count, queue, staff on duty, join code.
/prc panel · /erlc panelCompact live control panel.
/prc players · /erlc playersEveryone currently in the server.
/prc staff · /erlc staffStaff currently in the server.
/prc queue · /erlc queueThe current join queue.
/prc teams · /erlc teamsPlayers grouped by team.
/prc permissions · /erlc permissionsEvery player's in-game permission level.
/prc vehicles · /erlc vehiclesVehicles currently spawned.
/prc modcalls · /erlc modcallsRecent moderator calls.
/prc bans · /erlc bansCurrent server bans.
/prc check · /erlc checkWhether a player is online, with team, permission and callsign.
/prc refresh · /erlc refreshRespawn and refresh a player.
/prc unlink · /erlc unlinkDisconnect this server from ER:LC.
/erlc mass-unbanUnban a list of players at once, reporting each one.
/prc linkConnect this Discord server to an ER:LC private server.
/prc pmSend a private in-game message.
/prc message · /prc hintSend a server message or hint.
/prc commandRun an approved ER:LC command.
/prc joinlogs · /prc killlogs · /prc commandlogsRecent logs from the API.
/prc playerlogsSearch 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.

CommandWhat it does
/punishFile a punishment. Accepts several players at once.
/tempbanTemporarily ban a player, with a duration.
/punishment issueThe same as /punish, inside the group.
/punishment viewRead one case.
/punishment manageReview a case, fix its reason, void it, or read the player's history.
/punishment revokeRevoke a case, unbanning in game where that applies.
/punishment historyEvery case for a player, or for the server.
/punishment activeCases still in force.
/punishment leaderboardRank the players punished, or the staff issuing them.
/bolo activeActive 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.

CommandWhat it does
/department rosterRoster and rank coverage.
/department memberOne member's department assignment and record.
/department profileView a department profile.
/department profile-setCreate or update a department profile.
/department profile-rankAdd or remove a rank role from a profile.
/department pageThe department's page: resources, shouts, patrol logs.
/department logsDepartment audit events.
/department shoutPost a department announcement.
/department briefingIssue a command briefing, with a severity.
/department resourcesList the department's saved documents and links.
/department resource-addSave a document, link or attachment to a department.
/department patrol-logRecord a patrol or activity log.
/department intelligenceIncident intelligence over the last 1–90 days.
/department networkMulti-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.

CommandWhat it does
/department shift manageYour shift panel: clock in, break, resume, clock out.
/department shift activeWho is on duty, in one department or all of them.
/department shift leaderboardShift time ranked within a department.
/department shift quotaWho has met the department's required hours, and who is short.
/department shift mineYour 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

CommandWhat it does
/department infraction issueInfract a department member, tagged with the department.
/department infraction listInfractions 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.

CommandWhat it does
/shift startClock in. Takes an optional department and type.
/shift breakPause the shift and swap to the break role.
/shift resumeCome back from a break without starting a second shift.
/shift endClock out, remove the duty roles, and write the final record.
/shift statusShow a current shift, its department, and time worked.
/shift activeShow everyone on shift now, and how many places are left.
/shift historyRecent shifts, optionally narrowed to one department.
/shift leaderboardRank staff by tracked duty time.
/activity reportOne member's shift time, message count, quota, and leave.
/activity leaderboardRank 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.

CommandWhat it does
/leave requestAsk for leave. Choose Leave of Absence or Reduced Activity.
/leave activeEveryone currently on leave, with each one's type.
/leave pendingRequests waiting on a decision.
/leave historyYour past leave.
/leave manageYour own leave: extend it, cut it short, end it.
/leave adminManage 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.

CommandWhat it does
/automation listEvery automation, whether it is on, and when it last ran.
/automation viewOne automation's trigger, conditions, and ordered steps.
/automation toggleSwitch one on or off.
/automation runRun one now, without waiting for its trigger.
/automation historyWhat the automations have actually done recently.
/automation deleteDelete 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

CommandWhat it does
/application startStart an application in DMs.
/application statusShow your recent application statuses.
/application link-departmentLink an application to a department profile.
/forms listList saved reusable form templates.
/training scheduleCreate a training session.
/training rosterShow the roster for the latest training.
/training gradeSelect a hosted training and attendee to grade.
/training guideShow the training usage guide and defaults.

Tickets, AI support & modmail

CommandWhat it does
/ai replyContinue the AI conversation in this ticket.
/ai statusShow AI status for this ticket.
/ai summarizeSummarize this ticket for staff.
/ai lockStop AI replies in this ticket (staff only).
/ai unlockRe-enable AI replies in this ticket.
/context listList the context used by AI tickets.
/context addAdd a new context item for AI tickets.
/context removeRemove a context item by exact text match.
/modmail-exportExport a saved modmail transcript.
/modmail-slaConfigure modmail SLA reminders.
/ba acceptAccept a ban appeal (manual).
/ba denyDeny a ban appeal (manual).

Submissions & workflow

CommandWhat it does
/submission-historyShow the audit history for a submission.
/submission-exportExport a submission and its action history.
/submission-undoUndo the last reversible submission action.
/submission-slaConfigure submission SLA reminders.

Sessions

CommandWhat it does
/sessions startStart the session.
/sessions shutdownShutdown the session.
/sessions fullMark the session as full.
/sessions boostBoost the session.
/sessions voteStart a session vote.
/sessions scheduleRecord and post a scheduled session.
/sessions attendanceCapture a PRC attendance snapshot for the current session.
/sessions analyticsShow session analytics for recent sessions.
/sessions summaryBuild a post-session summary for a session.

Community

CommandWhat it does
/giveaway createCreate a new giveaway.
/giveaway rerollReroll a giveaway winner.
/giveaway endForce end an active giveaway.
/giveaway listList active giveaways.
/partner countList partnership representatives and latest ad links.
/partner partnershipCreate and preview a partnership advertisement.
/partner statsShow partnership activity stats by user.
/partner managerReview partnerships posted by a specified user.
/package createCreate a new package draft.
/package sendPublish a package to a channel.
/package listList available packages.
/package logsView recent package purchase/claim logs.
/package deleteDelete a package.

Connection roles

CommandWhat it does
/connectionroles addAdd a connection role to your server.
/connectionroles removeRemove a connection role from your server.
/connectionroles listList all connection roles in your server.
/connectionroles syncSync connection roles to all members.

Operations suite

CommandWhat it does
/lfg createCreate a looking-for-group post.
/lfg joinJoin an active LFG post.
/lfg listList active LFG posts.
/snapshot createCreate a self-healing server config snapshot.
/snapshot listList recent server config snapshots.
/timeline showGenerate an incident timeline.
/aipolicy setSet AI policy builder text.
/aipolicy viewView AI policy builder settings.
/aipolicy appendAppend a SOP or policy section.
/aipolicy askAsk the configured SOP/policy assistant.
/federation linkLink this server to a federation network.
/federation listList servers in this federation network.
/socialintegrations addAdd a social/announcement integration route.
/socialintegrations listList social/announcement integration routes.

Custom commands & AI tooling

CommandWhat it does
/custom-command-diagnosticsScan custom commands and auto-repair sync issues.
/ai-generate-templateGenerate a command or message template draft with AI.
/ai-safety-filterToggle AI moderation for public-facing custom command output.

Owner-only

CommandWhat it does
/say sendSend a message to a channel.
/say previewPreview 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.