--- title: "Infractions" slug: "infractions" category: "Servers" order: 6 description: "Issue, track, escalate, revoke, and clear internal staff discipline records." --- # 1 - Introduction Infractions are formal staff discipline records. CADLY supports warnings, strikes, suspensions, demotions, and terminations. Infractions are not the same as the [Moderation Panel](/docs/moderation). **Infractions are internal staff discipline**; moderation logs and CAD actions document server member incidents. Use infractions when the target is a staff member and the record should affect staff status, punishment roles, or internal history. Use logs when the target is a player or community member and the record documents an RP or moderation incident. The system is designed to be auditable. Revoked, expired, and consumed infractions remain visible so leadership can understand how a staff member's record changed over time. ## 1.1 - Table of Contents | Section | What it covers | |---|---| | [Issuing Infractions](#2---issuing-infractions) | Command fields, types, and effects | | [Managing Infractions](#3---managing-infractions) | Lists, info, revoke, clear, and escalation | | [Settings](#4---settings--configuration) | Infractions settings reference | | [Troubleshooting](#5---troubleshooting-common-issues) | Common hierarchy and expiry issues | ## 1.2 - Links to Related Documents - [Promotions](/docs/promotions) - [Logs](/docs/logs) - [Server Settings](/docs/server-settings) # 2 - Issuing Infractions Use **/infraction issue** with `user`, `type`, `reason`, optional `duration`, and optional `note`. Supported types are `warning`, `strike`, `suspension`, `demotion`, and `termination`. Suspensions use `duration` such as `2h` or `7d`; if omitted, CADLY uses the default suspension duration setting. Warnings and strikes are count-based discipline. Suspensions are time-based discipline. Demotions and terminations are serious staff-state changes and should be used only when your leadership process has approved them. The `note` field is internal context. Put the staff-facing reason in `reason`, because that is what appears in logs and messages. ```cadly-mock type: record title: Strike issued meta: Infractions > Staff discipline status: Active items: - User | @RiversideUnit - Type | strike - Reason | Missed command protocol - Note | Reviewed by supervisor team ``` ## 2.1 - Record Fields | Field | Purpose | |---|---| | User | Staff member receiving the infraction. | | Type | Warning, strike, suspension, demotion, or termination. | | Reason | Required discipline reason. | | Duration | Optional, used for suspensions. | | Note | Optional internal note. | | Status | Active, revoked, consumed, or expired. | ## 2.2 - Expiry and Escalation Warnings and strikes can expire after a configured number of days. If expiry is set to `0`, they never expire automatically. CADLY can auto-escalate three active warnings into a strike and three active strikes into a suspension-style higher action, consuming the lower infractions. Consumed infractions are not deleted. They stop counting as active lower-tier discipline because they were used to create the escalated record. This makes the escalation path visible without double-counting the same behavior. # 3 - Managing Infractions Use **/infraction list** to view infractions for yourself or, with Manage Infractions permission, another user. Use **/infraction info** for a detailed record. Use **/infraction revoke** to revoke one infraction. Use **/infraction clear** to revoke all active infractions for a user or only a selected type. Revoking is the normal correction path for mistakes. Clearing is broader and should be used carefully because it can revoke several active records at once. Always include a reason when clearing discipline after an appeal or policy decision. ## 3.1 - Tier Roles CADLY can assign roles based on infraction count. Tier roles exist for first, second, and third warning; first, second, and third strike; suspended; and termination. # 4 - Settings / Configuration ## 4.1 - Infractions Module ### Enable Infractions Turns the infractions module on or off. **Default:** on | **Requires:** none ### Log Channel Channel where infraction logs are sent. **Default:** none | **Requires:** none ### Warning Expiry Days until warnings expire. `0` means never expire. **Default:** 0 | **Requires:** none ### Strike Expiry Days until strikes expire. `0` means never expire. **Default:** 0 | **Requires:** none ### Default Suspension Duration Default suspension length in days when the command does not provide a duration. **Default:** 1 day | **Requires:** none ### Suspension Stacking Controls whether new suspensions stack onto an existing active suspension or reset from now. **Default:** stack | **Requires:** none Stacking is stricter and extends the user's time away. Resetting is easier to reason about when leadership wants the newest suspension to replace the previous one. ### Tier Role Stacking Controls whether punishment roles stack or only the highest applicable tier role is kept. **Default:** off | **Requires:** none ### Hierarchy Block Policy Controls whether blocked role changes fail the action or allow confirmation of partial changes. **Default:** confirm partial | **Requires:** none ## 4.2 - Tier Roles ### Warning Tier Roles Roles for first, second, and third warning. **Default:** none | **Requires:** none ### Strike Tier Roles Roles for first, second, and third strike. **Default:** none | **Requires:** none ### Suspended Role Role assigned during an active suspension. **Default:** none | **Requires:** none ### Termination Role Role assigned when a member is terminated. **Default:** none | **Requires:** none # 5 - Troubleshooting Common Issues ## 5.1 - Infraction Role Changes Fail Discord hierarchy is blocking CADLY. Move the bot role above all tier roles and make sure the actor outranks the target. ## 5.2 - Expired Infractions Still Appear History remains visible after expiry. Expiry changes whether an infraction is active for counts and tier roles; it does not delete the record. ## 5.3 - Auto-Escalation Surprised Staff Review active warning and strike counts before issuing another infraction. Consumed infractions remain in history for audit clarity. # 6 - Getting Support and Resources If you need help, several resources are available: - [CADLY Documentation](/docs): Detailed reference for all features. - [CADLY Support Server](https://discord.gg/cadly): Join for **fast help** from the team. - [CADLY Email Support](mailto:admin@cadly.me): Reach out **via email** for direct support.