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
- Enable the module on your server.
- Open the General Configuration and set the Staff Roles, Supervisor Roles, and Management Roles to control who can access which features.
- Set up a Log Channel where staff management events will be logged.
- 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
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.
| Command | Description |
|---|---|
/duty manage | Clock in/out of a shift or take a break. |
/duty active | View currently on-duty staff members. |
/duty leaderboard | View the duty time leaderboard. |
/duty time | View your own duty time statistics. |
/duty admin | Administrative duty management (supervisor+). |
/loa request | Request a Leave of Absence. |
/loa view | View your current LoA status. |
/loa list | List all active LoA requests. |
/loa admin | Approve, deny, or manage LoA requests (supervisor+). |
/reduced-activity request | Request Reduced Activity status. |
/reduced-activity view | View your current Reduced Activity status. |
/reduced-activity list | List all active Reduced Activity statuses. |
/reduced-activity admin | Manage Reduced Activity requests (supervisor+). |
/staff-management panel | Open 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 void | Void 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 start | Start a new activity check. |
/staff-management activity-check view | View an active or past activity check. |
/staff-management activity-check end | End an active activity check. |
/staff-management profile view user:<User> | View a staff member's profile. |
/staff-management profile edit | Edit 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 File | Description |
|---|---|
| General | Staff/supervisor/management roles, log channel, and general settings. |
| Shifts | Duty types, shift quotas, leaderboard settings, and break configuration. |
| Status | LoA and reduced activity settings, approval workflow, and role assignments. |
| Infractions | Infraction types, suspension settings, DM notifications, and expiration. |
| Promotions | Promotion announcements, role assignment, and notification settings. |
| Reviews | Rating system settings, self-rating prevention, and access restrictions. |
| Profiles | Staff profile fields and customization options. |
| Activity Checks | Check 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.