Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a14bcea
update to discord.js v14
SCDerox Jan 9, 2026
bcf08e6
fixed missing strings
SCDerox Jan 9, 2026
cea21e1
fixed broken info-commands
SCDerox Jan 9, 2026
0095066
fixed duplicated entry
SCDerox Jan 9, 2026
1746bcc
Adds ping-protection module. (#168)
Kevinking500 Jan 26, 2026
de23ed2
Ping Protection V1.1 (#171)
Kevinking500 Feb 18, 2026
acf8bf7
bumped changes
SCDerox Feb 27, 2026
f0f4bc5
feat(economy): implements "Artikel bearbeiten" (#179)
jateute Mar 3, 2026
e72ed64
Added name-list-cleaner AGAIN (#183)
hfgd123 Mar 14, 2026
29addb8
Staff Management System
Mar 16, 2026
22740b7
Staff Management V1, adjusted to what Copilot requested
Mar 16, 2026
d569f1e
Fixed some changes and rewrote botReady to be better
Mar 26, 2026
55d4199
New changes from feedback.
Apr 4, 2026
bc62741
New changes from feedback, and removed many unused locales keys
Apr 5, 2026
217dc78
Some changes
Apr 8, 2026
e85a4b9
Made changes according to feedbacks, bugs and more. Also includes som…
Apr 10, 2026
971cdce
Updated according to feedbacks
Apr 11, 2026
e33fd70
Changed some lines of code according to feedback and self-testing
Apr 12, 2026
6d272e9
Some minor changes
Apr 14, 2026
9f7c41d
Some parameters fixes and adjustments
Apr 14, 2026
d88af1e
Quick config image fix
Apr 14, 2026
d14c9bc
Added deferReply for multiple functions to avoid Discord timeouts in …
Apr 14, 2026
3f0d0c5
Added deferReply to 3 more functions
Apr 14, 2026
6aa556c
Applied fixes
Apr 17, 2026
1e22522
Quick fix regarding defer reply
Apr 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
422 changes: 422 additions & 0 deletions locales/en.json

Large diffs are not rendered by default.

1,533 changes: 1,533 additions & 0 deletions modules/staff-management-system/commands/duty.js

Large diffs are not rendered by default.

758 changes: 758 additions & 0 deletions modules/staff-management-system/commands/staff-management.js

Large diffs are not rendered by default.

1,037 changes: 1,037 additions & 0 deletions modules/staff-management-system/commands/status.js

Large diffs are not rendered by default.

318 changes: 318 additions & 0 deletions modules/staff-management-system/configs/activity-checks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,318 @@
{
"filename": "activity-checks.json",
"humanName": {
"en": "Activity Checks"
},
"description": {
"en": "Configure automated staff activity checks and response logging."
},
"categories": [
{
"id": "general",
"icon": "fas fa-clipboard-user",
"displayName": {
"en": "General Settings"
}
},
{
"id": "exceptions",
"icon": "fa-solid fa-badge-check",
"displayName": {
"en": "Exceptions"
}
},
{
"id": "automation",
"icon": "far fa-robot",
"displayName": {
"en": "Automation"
}
},
{
"id": "results",
"icon": "fa-solid fa-check-to-slot",
"displayName": {
"en": "Results & Logging"
}
}
],
"content": [
{
"name": "enableActivityChecks",
"category": "general",
"humanName": {
"en": "Enable Activity Checks"
},
"description": {
"en": "Allows admins to start an activity check to see who is active."
},
"type": "boolean",
"default": {
"en": true
},
"elementToggle": true
},
{
"name": "targetRoles",
"category": "general",
"humanName": {
"en": "Roles to Check"
},
"description": {
"en": "The roles required to respond to the activity check. Anyone with these roles will be expected to click the button. Leave empty to default to the General Staff Roles."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"allowNull": true
},
{
"name": "timeframe",
"category": "general",
"humanName": {
"en": "Check Duration (Hours)"
},
"description": {
"en": "How long staff have to respond to the activity check (Max 168 hours / 1 week)."
},
"type": "integer",
"minValue": 1,
"maxValue": 168,
"default": {
"en": 24
}
},
{
"name": "checkMessage",
"category": "general",
"humanName": {
"en": "Activity Check Embed"
},
"description": {
"en": "The message sent when an activity check starts."
},
"type": "string",
"allowEmbed": true,
"params": [
{
"name": "end-time",
"description": {
"en": "The Discord timestamp when the check ends."
}
},
{
"name": "duration",
"description": {
"en": "The configured duration in hours."
}
}
],
"default": {
"en": {
"title": "📋 Staff Activity Check",
"description": "Please click the button below to confirm your activity before %endtime%.",
"color": "#3498db"
}
}
},
{
"name": "sendingChannel",
"category": "general",
"humanName": {
"en": "Default Sending Channel"
},
"description": {
"en": "The default channel where the activity check message will be posted. This can manually be overridden with the command."
},
"type": "channelID",
"channelTypes": [
"GUILD_TEXT",
"GUILD_NEWS"
],
"default": {
"en": ""
},
"allowNull": true
},
{
"name": "exceptionsType",
"category": "exceptions",
"humanName": {
"en": "Exceptions Rule"
},
"description": {
"en": "Who are excused from the activity checks?"
},
"type": "select",
"content": [
"No exceptions",
"Only LoA",
"Only RA",
"LoA and RA",
"Custom role(s)"
],
"default": {
"en": "LoA and RA"
}
},
{
"name": "customExceptionRoles",
"category": "exceptions",
"humanName": {
"en": "Custom Exception Roles"
},
"description": {
"en": "Only applies if 'Custom role(s)' is selected above."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"allowNull": true
},
{
"name": "automatedChecks",
"category": "automation",
"humanName": {
"en": "Automated Checks"
},
"description": {
"en": "If enabled, the bot will automatically start activity checks at configured intervals."
},
"type": "boolean",
"default": {
"en": false
}
},
{
"name": "automatedCheckInterval",
"category": "automation",
"humanName": {
"en": "Automated Check Interval"
},
"description": {
"en": "On which interval to start automatic checks. Choose cronjob for full customzation."
},
"type": "select",
"content": [
"Weekly",
"Biweekly",
"Monthly",
"Cronjob"
],
"default": {
"en": "Biweekly"
},
"dependsOn": "automatedChecks"
},
{
"name": "automatedCheckCronjob",
"category": "automation",
"humanName": {
"en": "Automated Check Cronjob"
},
"description": {
"en": "The cronjob schedule for automatic checks. Only applies if 'Cronjob' is selected above."
},
"type": "string",
"default": {
"en": ""
},
"dependsOn": "automatedChecks",
"allowNull": true
},
{
"name": "automatedCheckWeekDay",
"category": "automation",
"humanName": {
"en": "Automated Check Week Day"
},
"description": {
"en": "The week day to start automatic checks."
},
"type": "select",
"content": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"default":{
"en": "Monday"
},
"dependsOn": "automatedChecks"
},
{
"name": "automatedCheckMonthWeek",
"category": "automation",
"humanName": {
"en": "Automated Check Month Week"
},
"description": {
"en": "The week of the month to start automatic checks. Only applies if 'Monthly' is selected above."
},
"type": "integer",
"minValue": 1,
"maxValue": 4,
"default": {
"en": 1
},
"dependsOn": "automatedChecks"
},
{
"name": "logChannel",
"category": "results",
"humanName": {
"en": "Results Channel"
},
"description": {
"en": "Where the final results are posted. Leave empty if you want to use the general log channel."
},
"type": "channelID",
"default": {
"en": ""
},
"channelTypes": [
"GUILD_TEXT",
"GUILD_NEWS"
],
"allowNull": true
},
{
"name": "pingResults",
"category": "results",
"humanName": {
"en": "Ping on Results"
},
"description": {
"en": "Ping specific roles when the results are posted."
},
"type": "boolean",
"default": {
"en": false
}
},
{
"name": "pingRoles",
"category": "results",
"humanName": {
"en": "Roles to Ping"
},
"description": {
"en": "The roles to ping with the results message."
},
"type": "array",
"content": "roleID",
"default": {
"en": []
},
"dependsOn": "pingResults"
}
]
}
Loading