Discord Bot Commands
25 commands. FTO role required unless marked Public. Supervisor = EMS Supervisor role only.
Certification Management
/log-psychomotor
Log a trainee's in-game psychomotor evaluation. DMs the trainee and updates Supabase.
/log-psychomotor trainee:@user level:EMT date:2025-07-15
trainee (req)level (req)date YYYY-MM-DD (req)roblox_usernamenotes
/log-ridealong
Log a supervised ride-along. Bot notifies if all requirements are now complete.
/log-ridealong trainee:@user level:EMT date:2025-07-20
trainee (req)level (req)date (req)
/issue-cert
Issue certification after all 3 requirements are met. DMs cert embed + PNG to trainee.
/issue-cert trainee:@user level:EMT
/force-cert
Issue cert bypassing all requirements. For IRL-certified, testing, or exemptions.
/force-cert trainee:@user level:EMT reason:"IRL certified"
/cert-revoke
Formally revoke a cert. Reason is mandatory and sent to the trainee via DM. Better audit trail than /delete-cert.
/cert-revoke trainee:@user level:EMT reason:"Policy violation"
/delete-cert
Revoke cert silently. Use /cert-revoke for documented revocations.
/delete-cert trainee:@user level:EMT reset_progress:False
/recert
Reissue a new cert number for someone already certified. Keeps all progress intact.
/recert trainee:@user level:EMT
/update-roblox
Update a trainee's Roblox username across all their certification records.
/update-roblox trainee:@user roblox_username:NewName123
Reporting & Lookups
/list-pending
Shows all trainees who've completed all requirements and are waiting for /issue-cert.
/list-pending
/trainee-list
Lists all active trainees broken into stages: needs psychomotor, needs ride-along, ready to cert.
/trainee-list level:EMT (level optional)
/stats
Training statistics overview β certified, pending, in-progress per level.
/stats
/fto-activity
FTO certification leaderboard showing who has issued the most certs.
/fto-activity
/trainee-report
Full training report for one trainee across all cert levels β exam scores, dates, cert numbers.
/trainee-report trainee:@user
/exam-history
Shows all past exam attempts (pass and fail) for a trainee with scores and dates.
/exam-history trainee:@user
/remind-pending
Posts a message in the training channel mentioning all trainees ready for cert.
/remind-pending
/announce
Posts a styled public certification announcement embed to the training channel.
/announce trainee:@user level:EMT
/pcr-stats
Statistics from the PCR system: call volumes, refusal rates, top submitters.
/pcr-stats
/pcr-lookup
Retrieve and display a full PCR or Refusal report by its report number.
/pcr-lookup report_number:PCR-20250715-A3F7
/delete-pcr Supervisor
Permanently delete a PCR or Refusal. Requires EMS Supervisor role.
/delete-pcr report_number:PCR-20250715-A3F7
Public Commands Anyone
/cert-info Public
Verify any cert number is real and active β shows holder, level, date, and who issued it.
/cert-info cert_number:EMT-20250715-A3F7
/cert-card Public
Display a certification card with a link to print/view the cert.
/cert-card cert_number:EMT-20250715-A3F7
/my-certs Public
Check your own training progress and certifications (ephemeral β only you see it).
/my-certs
/my-pcrs Public
See your own 5 most recent PCR and Refusal submissions.
/my-pcrs
/set-roblox Public
Set or update your own Roblox username on your training records.
/set-roblox roblox_username:YourNewName
/lookup Public
Look up any trainee's certification status and training progress.
/lookup trainee:@user