Skip to main content

Staff Management System

A powerful, highly customizable staff management system to track activity, moderate personnel, and maintain detailed staff records.

Can not display module overview: Module "staff-management-system" not found.

Features

  • Shift management — On-duty/off-duty tracking with clock-in/clock-out, break management, configurable duty types, duty time leaderboard, and shift quotas.
  • Leave of Absence & Reduced Activity — Staff can request LoA or reduced activity status with an approval workflow, optional role assignment, and configurable maximum durations.
  • Infractions & Suspensions — Issue warnings, strikes, demotions, terminations, or mark staff as under investigation. Temporary suspensions automatically remove staff roles and assign a suspension role.
  • Promotions — Promote staff members with optional automatic role assignment and customizable announcements.
  • Staff Profiles & Reviews — Individual staff profiles with a 1-5 star rating system, review history, and reputation tracking.
  • Activity Checks — Periodic staff activity verification with response tracking and configurable check windows.
  • Role-based access control — Three access tiers: Staff Roles (basic commands), Supervisor Roles (management capabilities), and Management Roles (full access including data deletion).

Setup

  1. Enable the module on your server.
  2. Open the General Configuration and set the Staff Roles, Supervisor Roles, and Management Roles to control who can access which features.
  3. Set up a Log Channel where staff management events will be logged.
  4. Configure the individual feature settings as needed:
    • Shifts — Duty types, quotas, and leaderboard settings.
    • Status — LoA and reduced activity settings.
    • Infractions — Infraction types, suspension settings, and DM notifications.
    • Promotions — Promotion announcements and role assignment.
    • Reviews — Rating system settings.
    • Profiles — Staff profile customization.
    • Activity Checks — Activity verification settings.

Usage

Shifts

Staff members can clock in and out of shifts using the /duty manage command. While on duty, they can take breaks. Supervisors can view who is currently on duty with /duty active and see duty time statistics with /duty leaderboard and /duty time.

Leave of Absence & Reduced Activity

Staff members can request a Leave of Absence or Reduced Activity status using /loa request or /reduced-activity request. Supervisors can approve or deny requests. Active statuses can be viewed with the list subcommand.

Infractions

Supervisors can issue infractions to staff members using /staff-management infraction issue. Available infraction types include warnings, strikes, demotions, terminations, and under investigation. Staff can also be suspended with /staff-management infraction suspend, which temporarily removes their staff roles.

Promotions

Supervisors can promote staff members using /staff-management promotion promote. Promotions can optionally assign a new role automatically and send an announcement to a configured channel.

Staff Profiles & Reviews

Each staff member has a profile that can be viewed with /staff-management profile view. Users can submit reviews and ratings for staff members. Profiles track average ratings and review history.

Activity Checks

Management can start periodic activity checks targeting specific roles with /staff-management activity-check start. Staff members must respond within the configured time window. Results can be viewed and managed by supervisors.

Commands

Understand the documentation
In these docs, name:<Type> is an option of a slash-command with name name and the type Type. Options that not required, are described as [name:<Type>]. If the action of a command is vastly different between required and not-required options, we might list them separately.
Examples
  • /moderate ban user:<Member>: This command (/moderate ban) has an required option with the name "user" that only accepts one member as a value.
  • /moderate ban victim:<Member> reason:<Text>: This command (/moderate ban) has an required option with the name "victim" that only accepts one member as a value and another required option with the name "reason" that accepts any text as an value.
  • /moderate ban victim:<Member> reason:<Text> [proof:<Attachment>]: This command (/moderate ban) has an required option with the name "victim" that only accepts one member as a value, another required option with the name "reason" that accepts any text as an value and a not-required option with the name "proof" which allows one attachment as its value.
CommandDescription
/duty manageClock in/out of a shift or take a break.
/duty activeView currently on-duty staff members.
/duty leaderboardView the duty time leaderboard.
/duty timeView your own duty time statistics.
/duty adminAdministrative duty management (supervisor+).
/loa requestRequest a Leave of Absence.
/loa viewView your current LoA status.
/loa listList all active LoA requests.
/loa adminApprove, deny, or manage LoA requests (supervisor+).
/reduced-activity requestRequest Reduced Activity status.
/reduced-activity viewView your current Reduced Activity status.
/reduced-activity listList all active Reduced Activity statuses.
/reduced-activity adminManage Reduced Activity requests (supervisor+).
/staff-management panelOpen the staff management panel.
/staff-management infraction issue user:<User>Issue an infraction to a staff member.
/staff-management infraction suspend user:<User>Suspend a staff member.
/staff-management infraction history user:<User>View a staff member's infraction history.
/staff-management infraction voidVoid an existing infraction.
/staff-management promotion promote user:<User>Promote a staff member.
/staff-management promotion history user:<User>View a staff member's promotion history.
/staff-management activity-check startStart a new activity check.
/staff-management activity-check viewView an active or past activity check.
/staff-management activity-check endEnd an active activity check.
/staff-management profile view user:<User>View a staff member's profile.
/staff-management profile editEdit your own staff profile.
/staff-management profile wipe user:<User>Wipe a staff member's profile data (management only).
/staff-management review submit user:<User>Submit a review for a staff member.
/staff-management review history user:<User>View a staff member's review history.

Configuration

This module has 8 configuration files. Open them in your dashboard.

Configuration FileDescription
GeneralStaff/supervisor/management roles, log channel, and general settings.
ShiftsDuty types, shift quotas, leaderboard settings, and break configuration.
StatusLoA and reduced activity settings, approval workflow, and role assignments.
InfractionsInfraction types, suspension settings, DM notifications, and expiration.
PromotionsPromotion announcements, role assignment, and notification settings.
ReviewsRating system settings, self-rating prevention, and access restrictions.
ProfilesStaff profile fields and customization options.
Activity ChecksCheck windows, target roles, and response tracking settings.

Troubleshooting

Staff members cannot use commands
  • Make sure their role is listed in the Staff Roles in the General Configuration.
  • Some commands require Supervisor Roles or Management Roles — check the command descriptions above.
Suspension is not removing roles
  • Ensure the bot's role is positioned above the staff member's roles in the role hierarchy.
  • Check that a Suspension Role is configured in the Infractions configuration.
LoA requests are not being processed
  • LoA requests need to be approved by a user with a Supervisor Role or higher.
  • Check the Status configuration for maximum duration limits — requests exceeding the limit may be automatically rejected.

Stored data

The following data is stored by this module:

  • Staff profiles: User ID, suspension status, and profile data for each tracked staff member.
  • Shifts: Clock-in/out timestamps, break records, and duty type for each shift.
  • Infractions: Infraction type, issuer, target, reason, and expiration date.
  • Promotions: Promotion records including old/new role, issuer, and timestamp.
  • Reviews: Reviewer ID, target ID, rating, and review text.
  • LoA requests: Requester, reason, duration, approval status, and approver.
  • Activity checks: Check records, target roles, and individual response tracking.

To remove all data stored by this module, purge the module database.

Need more help?
Can't find what you're looking for? Our team is happy to help.