Make It Private
Set audit log channel to admin-only. Sensitive info (deleted challenges, config mistakes) shouldn’t be visible to regular members.
Track every administrative action in your CTF server with detailed audit logs. Perfect for compliance, troubleshooting, and accountability.
Designate a channel for audit logging:
/admin-logs [channel]What happens:
Best practice: Create a private admin-only channel like #audit-logs.
| Action | Example |
|---|---|
| Create CTF | ”Challenge ‘Web Exploitation’ created by @Admin” |
| Edit CTF | ”Challenge 1 updated: title changed” |
| Delete CTF | ”Challenge 1 ‘Web Exploitation’ deleted” |
| Archive CTF | ”Challenge 1 closed” |
| Repair CTF | ”Challenge embed re-posted” |
| Action | Example |
|---|---|
| Set success channel | ”Success channel set to #ctf-wins” |
| Set answer logs | ”Flag logs set to #submission-logs” |
| Update difficulty labels | ”Custom difficulties configured” |
| Update point values | ”Points updated: Easy=100, Hard=400” |
| Enable/disable first-blood | ”First-blood enabled: 50%/30%/15%“ |
| Creator role changes | ”CTF creator role granted to @Creators” |
| Creator self-solve toggle | ”Creators allowed to solve own challenges” |
| Action | Example |
|---|---|
| Enable top-3 roles | ”Top 3 roles enabled with custom colors” |
| Disable top-3 roles | ”Top 3 roles disabled” |
| Enable solver roles | ”Per-CTF solver roles enabled” |
| Disable solver roles | ”Per-CTF solver roles disabled” |
| Action | Example |
|---|---|
| Post leaderboard | ”Desktop leaderboard posted in #leaderboard” |
| Remove leaderboard | ”Leaderboard removed” |
| Revoke solve | ”@Alice’s solve for challenge 3 revoked” |
| Manual award | ”@Bob manually awarded solve for challenge 2” |
| Recalculate | ”Leaderboard recalculated” |
| Action | Example |
|---|---|
| Create event | ”Event ‘Spring Tournament’ created (category: Spring-Tournament)“ |
| Delete event | ”Event ‘Spring Tournament’ purged” |
The persistent audit embed displays:
🔐 CTF Administration Audit Log
Last Action: 2026-04-29 14:32 UTC
Recent Events:✅ Challenge Created (Green) "Web Exploitation" by @Admin (ID: 1) 2026-04-29 14:32 UTC
🟡 Configuration Changed (Yellow) Points updated: Easy=100, Medium=250 by @Admin 2026-04-29 14:15 UTC
🔴 Challenge Deleted (Red) "Old Challenge" (ID: 3) by @Admin 2026-04-29 13:00 UTCAudit entries are color-coded by action type:
| Color | Hex | Action Type | Example |
|---|---|---|---|
| 🟢 Green | #2ecc71 | Creation | New challenge posted |
| 🟡 Yellow | #f1c40f | Configuration | Settings changed |
| 🟠 Orange | #e67e22 | Edits | Challenge updated |
| 🔴 Red | #e74c3c | Destructive | Challenge deleted |
| 🔵 Blue | #3498db | Archives | Challenge closed |
Use cases:
For active servers with many CTFs, the audit embed spans multiple embeds (one embed = ~6 entries, automatically paginated):
Pagination controls:
First Page | ← Previous | Next → | Last PageNavigate to find older entries or specific events.
Scenario: Challenge deleted mysteriously.Solution: Check audit log.Find: Red entry "Challenge 2 deleted by @ModA" at 2026-04-28 10:15Follow-up: Ask @ModA why challenge was removedScenario: Points configuration seems wrong.Solution: Check audit log.Find: Yellow entry "Points updated" at specific timeVerify: Confirm when change happened and what values were setScenario: Want to know guild activity over a week.Solution: Review audit log weekly.Find: Count creation entries, config changes, etc.Assess: Is CTF activity healthy?Scenario: Top-3 roles aren't updating.Solution: Check audit log.Find: Yellow entry "Top 3 disabled" if accidentally disabledOr: Check if role changes are being logged at allMake It Private
Set audit log channel to admin-only. Sensitive info (deleted challenges, config mistakes) shouldn’t be visible to regular members.
Review Regularly
Check audit logs weekly to catch unexpected changes or troubleshoot issues.
Pin Important Entries
If something goes wrong, pin the audit log entry for reference during troubleshooting.
Archive Seasonally
For long-term auditing, periodically screenshot or export the audit log before it gets too long.
Communicate Configuration Changes
Before making major changes (disabling first-blood, updating points), post in audit log and announce to community.
Q: Audit log embed isn’t updating
A: Make sure the bot has permission to edit messages in that channel. Re-run /admin-logs [channel] to refresh.
Q: I can’t see the audit log channel A: Verify you have permission to view the channel. Ask an admin to check role permissions.
Q: Old entries are disappearing A: Discord embeds support multiple pages. Navigate using pagination buttons at the bottom.
Q: An action isn’t being logged A: Some actions (like manual flag entries) might not trigger audit entries. Check the specific command documentation.
/enable-top-3 is run/admin-manual-add) are logged/ctf-revoke-solve) are logged